-
-
Notifications
You must be signed in to change notification settings - Fork 925
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6206683241b9
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 96278faf37bd
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 14 commits
- 34 files changed
- 4 contributors
Commits on Dec 28, 2015
-
Various literal to_proc'ed Symbol optimizations.
* Use a dummy binding rather than creating new every time. * Cache the resulting proc at create site. The second optimization results in a given &:foo in code only creating a single Proc, ever, and caching it at that point in the code. This is based on the observation that symbol procs typically are used to iterate over homogeneous collections of objects, so caching the proc allows its cache to stay populated and local to the related code. This also eliminates the allocation of a Block, BlockBody, and RubyProc for each encounter, which improves perf also for heterogeneous collections with poor cacheability. Benchmark: ```ruby loop { puts Benchmark.measure { ary = [1,2,3,4] 1_000_000.times { ary.each(&:object_id) } } } ``` Before: ``` 1.270000 0.070000 1.340000 ( 0.710043) 0.640000 0.020000 0.660000 ( 0.511692) 0.470000 0.000000 0.470000 ( 0.460667) 0.490000 0.010000 0.500000 ( 0.480732) 0.470000 0.000000 0.470000 ( 0.462888) ``` Just the dummy binding optimization: ``` 1.210000 0.070000 1.280000 ( 0.660924) 0.540000 0.020000 0.560000 ( 0.432614) 0.430000 0.000000 0.430000 ( 0.422502) 0.430000 0.000000 0.430000 ( 0.416549) 0.410000 0.010000 0.420000 ( 0.412461) ``` And with proc caching: ``` 0.890000 0.060000 0.950000 ( 0.456065) 0.410000 0.020000 0.430000 ( 0.279023) 0.290000 0.000000 0.290000 ( 0.282117) 0.300000 0.010000 0.310000 ( 0.288516) 0.270000 0.000000 0.270000 ( 0.270100) ```
1Configuration menu - View commit details
-
Copy full SHA for 69662ab - Browse repository at this point
Copy the full SHA 69662abView commit details
Commits on Dec 30, 2015
-
Configuration menu - View commit details
-
Copy full SHA for 5941f37 - Browse repository at this point
Copy the full SHA 5941f37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 813a222 - Browse repository at this point
Copy the full SHA 813a222View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a3de79 - Browse repository at this point
Copy the full SHA 5a3de79View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dc8ccc - Browse repository at this point
Copy the full SHA 8dc8cccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ff8a48 - Browse repository at this point
Copy the full SHA 4ff8a48View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33d388a - Browse repository at this point
Copy the full SHA 33d388aView commit details -
Merge pull request #3571 from jruby/symbol_to_proc_cache
Various literal to_proc'ed Symbol optimizations.
Configuration menu - View commit details
-
Copy full SHA for cca4a33 - Browse repository at this point
Copy the full SHA cca4a33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5469c41 - Browse repository at this point
Copy the full SHA 5469c41View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5a0db9 - Browse repository at this point
Copy the full SHA f5a0db9View commit details
Commits on Dec 31, 2015
-
Fixes #3573. MRI 2.2.2 / JRuby 9.0.4.0 difference given explicit rece…
…iver for private method call.
Configuration menu - View commit details
-
Copy full SHA for 4ff4ad4 - Browse repository at this point
Copy the full SHA 4ff4ad4View commit details
Commits on Jan 1, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 6331a39 - Browse repository at this point
Copy the full SHA 6331a39View commit details -
Configuration menu - View commit details
-
Copy full SHA for 283ff44 - Browse repository at this point
Copy the full SHA 283ff44View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96278fa - Browse repository at this point
Copy the full SHA 96278faView commit details
There are no files selected for viewing