The Wayback Machine - https://web.archive.org/web/20160917192140/https://bugs.ruby-lang.org/issues/10081

Project

General

Profile

Feature #10081

[PATCH] Specifying MACRO for increase performence in ppc64

Added by Gustavo Frederico Temple Pedrosa about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
[ruby-core:63937]

Description

To increase performance on ppc64 machines, the MACRO "powerpc64" were specified for the architecture, just like for x86_64 machines.

I've executed some benchmarks, see below:

Benchmark               Before (milliseconds)   After (milliseconds)    Percentage difference
bm_vm2_regexp.rb        4955                    4752                    -4,10%
bm_so_meteor_contest.rb 6065                    5817                    -4,09%
bm_app_pentomino.rb     35122                   34886                   -0,67%
bm_hash_flatten.rb      3055                    3011                    -1,44%
bm_so_sieve.rb          1227                    1210                    -1,39%

macro_powerpc64.patch View (1.16 KB) Gustavo Frederico Temple Pedrosa, 07/22/2014 06:40 PM

Associated revisions

Revision 46915
Added by Nobuyoshi Nakada about 2 years ago

UNALIGNED_WORD_ACCESS on ppc64

  • include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): add PowerPC64 too, which is capable to access unaligned words. patched by Gustavo Frederico Temple Pedrosa in . [Feature #10081]
  • regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto.

Revision 46915
Added by Nobuyoshi Nakada about 2 years ago

UNALIGNED_WORD_ACCESS on ppc64

  • include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): add PowerPC64 too, which is capable to access unaligned words. patched by Gustavo Frederico Temple Pedrosa in . [Feature #10081]
  • regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto.

Revision 46915
Added by Nobuyoshi Nakada about 2 years ago

UNALIGNED_WORD_ACCESS on ppc64

  • include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): add PowerPC64 too, which is capable to access unaligned words. patched by Gustavo Frederico Temple Pedrosa in . [Feature #10081]
  • regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto.

History

#1 [ruby-core:63942] Updated by Nobuyoshi Nakada about 2 years ago

PowerPC64 can unaligned access?

#2 [ruby-core:63972] Updated by Gustavo Frederico Temple Pedrosa about 2 years ago

Nobuyoshi Nakada wrote:

PowerPC64 can unaligned access?

Yes, I have tested in my IBM POWER 7+ (rev 2.1)

#3 [ruby-core:63976] Updated by Nobuyoshi Nakada about 2 years ago

Thank you.
Possibly, can PACKED_STRUCT_UNALIGNED also work on PowerPC64?

#4 [ruby-core:63981] Updated by Nobuyoshi Nakada about 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r46915.


UNALIGNED_WORD_ACCESS on ppc64

  • include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): add PowerPC64 too, which is capable to access unaligned words. patched by Gustavo Frederico Temple Pedrosa in . [Feature #10081]
  • regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto.

Also available in: Atom PDF