Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caching compiled scripts in Google App Engine #50

Open
Bediako opened this issue Jun 4, 2012 · 0 comments
Open

Caching compiled scripts in Google App Engine #50

Bediako opened this issue Jun 4, 2012 · 0 comments
Labels
Performance Issues related to the performance of the Rhino engine

Comments

@Bediako
Copy link

Bediako commented Jun 4, 2012

I am looking to cache compiled scripts in Google App Engine. App Engine does some interesting things in the cloud. For local environments it is enough to stick the compiled script into a static hash, however in Google App Engine there is no guarantee that the class will stay loaded over time. As such I am getting poor hit ratios for compiled scripts stored in this way.

I tried to store the compiled script in memcache, but I run into an issue on retrieval from memcache in that the generated class used to represent that compiled script is not found by Google App Engine class loader.

I believe I can get good performance is I was able to cache the compile bytes that represent the AST created by the interpreter in memcache, then somehow construct a Script implementing object from that information.

My question is, is this feasible, can I expect a performance improvement with this method, or is there another approach I could try instead?

Thanks again for all your hard work on Rhino. It is truely a great piece of software!

@p-bakker p-bakker added the Performance Issues related to the performance of the Rhino engine label Jun 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Performance Issues related to the performance of the Rhino engine
Projects
None yet
Development

No branches or pull requests

2 participants