Feature #9997

Specifying non volatile registers for increase performence in ppc64

Added by Leonardo Bianconi 8 months ago. Updated 7 months ago.

[ruby-core:63437]
Status:Closed
Priority:Normal
Assignee:Leonardo Bianconi

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

enhac_ppc64.patch Magnifier (781 Bytes) Leonardo Bianconi, 06/30/2014 03:44 PM

Ruby_ppc64_benchmark.pdf (53.6 KB) Leonardo Bianconi, 07/08/2014 12:12 PM

Associated revisions

Revision 47149
Added by Hiroshi SHIBATA 7 months ago

  • vm_exec.c: improve performance in ppc64 arch. [Feature #9997]

Revision 47149
Added by Hiroshi SHIBATA 7 months ago

  • vm_exec.c: improve performance in ppc64 arch. [Feature #9997]

History

#1 Updated by Leonardo Bianconi 8 months 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

#2 Updated by Nobuyoshi Nakada 8 months ago

The first results are inverted?

#3 Updated by Leonardo Bianconi 8 months ago

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.

#4 Updated by Leonardo Bianconi 8 months ago

ping... anyone to review this patch?

#5 Updated by Hiroshi SHIBATA 7 months 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. [Feature #9997]

Also available in: Atom PDF