Feature #9997
closedSpecifying non volatile registers for increase performence in ppc64
Description
To increase performance on ppc64 machines, the registers 14 and 15 were specified for the architecture, just like for x86_64 machines.
I've executed some benchmarks, see below:
bm_loop_for.rb
Before After
real 0m2.524s real 0m2.781s
user 0m2.520s user 0m2.777s
sys 0m0.004s sys 0m0.004s
bm_loop_whileloop.rb
Before After
real 0m1.142s real 0m1.267s
user 0m1.138s user 0m1.263s
sys 0m0.004s sys 0m0.004s
bm_so_array.rb
Before After
real 0m1.556s real 0m1.832s
user 0m1.552s user 0m1.828s
sys 0m0.004s sys 0m0.004s
bm_so_matrix.rb
Before After
real 0m1.070s real 0m1.107s
user 0m1.066s user 0m1.104s
sys 0m0.004s sys 0m0.004s
Files
Updated by lbianc (Leonardo Bianconi) over 10 years ago
Sending the benchmark results again, the previous was wrong, sorry.
bm_loop_for.rb
Before
real 0m2.781s
user 0m2.777s
sys 0m0.004s
After
real 0m2.524s
user 0m2.520s
sys 0m0.004s
bm_loop_whileloop.rb
Before
real 0m1.267s
user 0m1.263s
sys 0m0.004s
After
real 0m1.142s
user 0m1.138s
sys 0m0.004s
bm_so_array.rb
Before
real 0m1.832s
user 0m1.828s
sys 0m0.004s
After
real 0m1.556s
user 0m1.552s
sys 0m0.004s
bm_so_matrix.rb
Before
real 0m1.107s
user 0m1.104s
sys 0m0.004s
After
real 0m1.070s
user 0m1.066s
sys 0m0.004s
Updated by nobu (Nobuyoshi Nakada) over 10 years ago
The first results are inverted?
Updated by lbianc (Leonardo Bianconi) over 10 years ago
- File Ruby_ppc64_benchmark.pdf Ruby_ppc64_benchmark.pdf added
Hi Nobuyoshi, yes, my mistake. The correct results are the ones I added later.
I'm attaching the results for the "Computer Language Benchmarks Game" as well. Check the time enhancement.
Updated by lbianc (Leonardo Bianconi) over 10 years ago
ping... anyone to review this patch?
Updated by hsbt (Hiroshi SHIBATA) over 10 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r47149.
- vm_exec.c: improve performance in ppc64 arch.
[ruby-core:63437] [Feature #9997]