From: shibata.hiroshi@... Date: 2014-08-12T03:59:51+00:00 Subject: [ruby-core:64328] [ruby-trunk - Feature #9997] [Closed] Specifying non volatile registers for increase performence in ppc64 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/