ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:63437] [ruby-trunk - Feature #9997] [Open] Specifying non volatile registers for increase performence in ppc64
       [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
@ 2014-06-30 15:44 ` leonardo.bianconi
  2014-06-30 15:53 ` [ruby-core:63439] [ruby-trunk - Feature #9997] " leonardo.bianconi
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: leonardo.bianconi @ 2014-06-30 15:44 UTC (permalink / raw
  To: ruby-core

Issue #9997 has been reported by Leonardo Bianconi.

----------------------------------------
Feature #9997: Specifying non volatile registers for increase performence in ppc64
https://bugs.ruby-lang.org/issues/9997

* Author: Leonardo Bianconi
* Status: Open
* Priority: Normal
* Assignee: Leonardo Bianconi
* Category: core
* Target version: current: 2.2.0
----------------------------------------
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--------------------------------
enhac_ppc64.patch (781 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:63439] [ruby-trunk - Feature #9997] Specifying non volatile registers for increase performence in ppc64
       [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
  2014-06-30 15:44 ` [ruby-core:63437] [ruby-trunk - Feature #9997] [Open] Specifying non volatile registers for increase performence in ppc64 leonardo.bianconi
@ 2014-06-30 15:53 ` leonardo.bianconi
  2014-06-30 16:47 ` [ruby-core:63440] " nobu
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: leonardo.bianconi @ 2014-06-30 15:53 UTC (permalink / raw
  To: ruby-core

Issue #9997 has been updated by Leonardo Bianconi.


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

----------------------------------------
Feature #9997: Specifying non volatile registers for increase performence in ppc64
https://bugs.ruby-lang.org/issues/9997#change-47481

* Author: Leonardo Bianconi
* Status: Open
* Priority: Normal
* Assignee: Leonardo Bianconi
* Category: core
* Target version: current: 2.2.0
----------------------------------------
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--------------------------------
enhac_ppc64.patch (781 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:63440] [ruby-trunk - Feature #9997] Specifying non volatile registers for increase performence in ppc64
       [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
  2014-06-30 15:44 ` [ruby-core:63437] [ruby-trunk - Feature #9997] [Open] Specifying non volatile registers for increase performence in ppc64 leonardo.bianconi
  2014-06-30 15:53 ` [ruby-core:63439] [ruby-trunk - Feature #9997] " leonardo.bianconi
@ 2014-06-30 16:47 ` nobu
  2014-07-08 12:12 ` [ruby-core:63590] " leonardo.bianconi
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: nobu @ 2014-06-30 16:47 UTC (permalink / raw
  To: ruby-core

Issue #9997 has been updated by Nobuyoshi Nakada.


The first results are inverted?

----------------------------------------
Feature #9997: Specifying non volatile registers for increase performence in ppc64
https://bugs.ruby-lang.org/issues/9997#change-47482

* Author: Leonardo Bianconi
* Status: Open
* Priority: Normal
* Assignee: Leonardo Bianconi
* Category: core
* Target version: current: 2.2.0
----------------------------------------
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--------------------------------
enhac_ppc64.patch (781 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:63590] [ruby-trunk - Feature #9997] Specifying non volatile registers for increase performence in ppc64
       [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
                   ` (2 preceding siblings ...)
  2014-06-30 16:47 ` [ruby-core:63440] " nobu
@ 2014-07-08 12:12 ` leonardo.bianconi
  2014-07-23 17:22 ` [ruby-core:63985] " leonardo.bianconi
  2014-08-12  3:59 ` [ruby-core:64328] [ruby-trunk - Feature #9997] [Closed] " shibata.hiroshi
  5 siblings, 0 replies; 6+ messages in thread
From: leonardo.bianconi @ 2014-07-08 12:12 UTC (permalink / raw
  To: ruby-core

Issue #9997 has been updated by Leonardo Bianconi.

File 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.

----------------------------------------
Feature #9997: Specifying non volatile registers for increase performence in ppc64
https://bugs.ruby-lang.org/issues/9997#change-47645

* Author: Leonardo Bianconi
* Status: Open
* Priority: Normal
* Assignee: Leonardo Bianconi
* Category: core
* Target version: current: 2.2.0
----------------------------------------
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--------------------------------
enhac_ppc64.patch (781 Bytes)
Ruby_ppc64_benchmark.pdf (53.6 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:63985] [ruby-trunk - Feature #9997] Specifying non volatile registers for increase performence in ppc64
       [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
                   ` (3 preceding siblings ...)
  2014-07-08 12:12 ` [ruby-core:63590] " leonardo.bianconi
@ 2014-07-23 17:22 ` leonardo.bianconi
  2014-08-12  3:59 ` [ruby-core:64328] [ruby-trunk - Feature #9997] [Closed] " shibata.hiroshi
  5 siblings, 0 replies; 6+ messages in thread
From: leonardo.bianconi @ 2014-07-23 17:22 UTC (permalink / raw
  To: ruby-core

Issue #9997 has been updated by Leonardo Bianconi.


ping... anyone to review this patch?

----------------------------------------
Feature #9997: Specifying non volatile registers for increase performence in ppc64
https://bugs.ruby-lang.org/issues/9997#change-48003

* Author: Leonardo Bianconi
* Status: Open
* Priority: Normal
* Assignee: Leonardo Bianconi
* Category: core
* Target version: current: 2.2.0
----------------------------------------
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--------------------------------
enhac_ppc64.patch (781 Bytes)
Ruby_ppc64_benchmark.pdf (53.6 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:64328] [ruby-trunk - Feature #9997] [Closed] Specifying non volatile registers for increase performence in ppc64
       [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
                   ` (4 preceding siblings ...)
  2014-07-23 17:22 ` [ruby-core:63985] " leonardo.bianconi
@ 2014-08-12  3:59 ` shibata.hiroshi
  5 siblings, 0 replies; 6+ messages in thread
From: shibata.hiroshi @ 2014-08-12  3:59 UTC (permalink / raw
  To: ruby-core

Issue #9997 has been updated by Hiroshi SHIBATA.

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]

----------------------------------------
Feature #9997: Specifying non volatile registers for increase performence in ppc64
https://bugs.ruby-lang.org/issues/9997#change-48307

* Author: Leonardo Bianconi
* Status: Closed
* Priority: Normal
* Assignee: Leonardo Bianconi
* Category: core
* Target version: current: 2.2.0
----------------------------------------
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--------------------------------
enhac_ppc64.patch (781 Bytes)
Ruby_ppc64_benchmark.pdf (53.6 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-08-12  4:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <redmine.issue-9997.20140630154454@ruby-lang.org>
2014-06-30 15:44 ` [ruby-core:63437] [ruby-trunk - Feature #9997] [Open] Specifying non volatile registers for increase performence in ppc64 leonardo.bianconi
2014-06-30 15:53 ` [ruby-core:63439] [ruby-trunk - Feature #9997] " leonardo.bianconi
2014-06-30 16:47 ` [ruby-core:63440] " nobu
2014-07-08 12:12 ` [ruby-core:63590] " leonardo.bianconi
2014-07-23 17:22 ` [ruby-core:63985] " leonardo.bianconi
2014-08-12  3:59 ` [ruby-core:64328] [ruby-trunk - Feature #9997] [Closed] " shibata.hiroshi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).