-
-
Notifications
You must be signed in to change notification settings - Fork 925
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
Performance decrease / memory usage increase between 1.7 and 9.1 #4012
Comments
test performance is tricky ... 9K might need more memory, which in cases such as bounded envs (travis-ci) might trigger a lot of GC if its low. did you try reproducing locally ? tips for improving test time :
|
@estolfo Does the test suite run a lot of subprocesses? If so, that could explain this. JRuby 9k starts up a bit slower than 1.7, mostly because of the additional boot logic needed for 2.3 (new gems, etc). I've been working on a page to document tips for improving performance here: https://github.com/jruby/jruby/wiki/Troubleshooting-Performance Given that 9k uses a lot more memory, that may be where we want to look. However it runs extremely slow using the flag on the page above. If I can get the suite to run locally, I could try to do a lighter-weight allocation profile. |
Hi @headius It doesn't run a lot of subprocesses. I'm sure being able to test it out locally would be helpful: prerequisites for both testing mongoid and the driver:
Clone the driver and run the tests:
Clone mongoid and run the tests:
I'll do some profiling today and let you know if I find anything worth mentioning. Emily |
I've noticed the performance of the Ruby driver and Mongoid's test suites decreasing with JRuby versions following 1.7 and am looking for ideas on how to investigate.
The Ruby driver's test suite on travis can be seen here.
Mongoid's test suite shows the same trend but uses a lot of memory on JRuby 9.1.2.0. I have a branch for testing Mongoid on JRuby and comparing the performance to MRI here
Xmx--
setting at 1GWhile I can continue to increase the limit until the process doesn't run out of memory, the performance is surprising. I've done some profiling on some of the most common Model methods in Mongoid but haven't found any valuable information yet.
I'd welcome any ideas you might have, thanks!
The text was updated successfully, but these errors were encountered: