-
-
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: a3a7b91456bb
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: bd7724688c07
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 11 commits
- 26 files changed
- 2 contributors
Commits on Dec 28, 2015
-
Configuration menu - View commit details
-
Copy full SHA for d26c846 - Browse repository at this point
Copy the full SHA d26c846View commit details -
Fix multiplying through NaN as in MRI.
Original fix in ruby/ruby@3bcb10a: calculate as rotation in complex plane if matrix calculation resulted in NaN.
Configuration menu - View commit details
-
Copy full SHA for ecf0aa7 - Browse repository at this point
Copy the full SHA ecf0aa7View commit details -
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 bd77246 - Browse repository at this point
Copy the full SHA bd77246View commit details
There are no files selected for viewing