(Sorry for the cross posting to both the mailing list and newsgroup;
they appear to both be active?)

I mentioned yesterday we're looking for some help using Rhino in a
mobile setting.  Would you or anyone you know be willing to help?  I
got a couple off-list responses asking for more detail, so here goes:

Right now we've got it running on Android and it's working great, but
has some performance issues on startup (not due to Rhino per se, but
due to it triggering a ton of extraneous garbage collection).
Furthermore, we're about to start with Rhino on BlackBerry and have
concerns about its old JVM.  And then of course I'm sure there will be
more issues as we go.  So to start we're looking for someone to:

1) Install an Android developer environment, compile and run our app
in your environment

2) Reproduce the problem we describe and verify we're not crazy.

3) Isolate the problem by creating some sort of test app that really
exercises the bad codepath.

4) Do a little benchmarking on it to see how bad the problem is and
confirm we do in fact understand its cause.  (We theorize it's due to
a large number of tiny, temporary objects being created and freed at
high frequency while reading/parsing the JavaScript on file load.)

5) Perform surgery on Rhino to alleviate the problem.  (In this case
it might just be adding all these small objects to a list that is
freed all at once at the end, deferring garbage collection into one
big operation after startup completes.  This could be made into an
optional flag, as it's a tradeoff for memory versus performance.  Or
maybe there's an even better way to approach it by recycling these
objects or something else crazier.)

6) Re-run the benchmark to verify the problem has been fixed.

7) Commit the updated code to the Rhino mainline (or to some public
GitHub branch, or somewhere else reasonable).

The right person could probably do all this in a heartbeat, but not
knowing anything about the Rhino core, it'll take us forever to get up
to speed.  So, we're looking for someone who knows their way around
Rhino internals to help us with a few projects like this as needed,
with all the changes being shared with the community.  Please let me
know a quote or hourly rate, or however you might like to be
compensated.  Thanks!

-david ([email protected])
Founder and CEO of Expensify
Follow us at http://twitter.com/expensify
_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino

Reply via email to