-
-
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
Fannkuch-redux is less than half as fast in 9k as in 1.7 #2850
Comments
Thanks Chris...given that they're both slow I'm guessing they're both bottlenecked on the same thing, and that same thing is probably something consistent like excessive allocation. We'll look into it before final. |
I notice the bench contains a lot of masgn, as in |
Yeah that does make sense - we have a kind of fork in Truffle for multiple assignment - one side does the assignment - the other constructs the actual array needed - and if you don't use the result value we only execute one side of the fork. |
In 1.7 mode, this JITs. |
Is this as fast as 1.7 now? |
I'll run the full set of benchmarks again soon. |
I've recently finished a new big run of benchmarks - available at http://jruby.github.io/bench9000/. As you'd expect, some benchmarks are a little faster under 9k (e.g. 1.2x, 1.8x), a few a lot faster (e.g. 8.5x), a few are a little slower, and some are worse than that.
A starting point to tackling those that are slower might be fannkuch-redux. It is less than half as fast in 9k as it is in 1.7.
The error bar represents standard deviation - so this benchmark is very stable.
It's not an indy thing - it applies with or without indy. It's also not a warmup thing - the report linked above goes to great pains to ensure a benchmark is warmed up and will run for a benchmark minutes.
Version of the benchmark used: https://gist.github.com/chrisseaton/8201ad900149ee821403.
It's true that fannkuch-redux is a simple, synthetic benchmark, perhaps unrepresentative of real Ruby code - but that doesn't make the fact it's any slower any better. If there are problems there there may be problems elsewhere.
The text was updated successfully, but these errors were encountered: