1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/include/ruby
AGSaidi 511b55bcef
Enable arm64 optimizations that exist for power/x86 (#3393)
* Enable unaligned accesses on arm64

64-bit Arm platforms support unaligned accesses.

Running the string benchmarks this change improves performance
by an average of 1.04x, min .96x, max 1.21x, median 1.01x

* arm64 enable gc optimizations

Similar to x86 and powerpc optimizations.

|       |compare-ruby|built-ruby|
|:------|-----------:|---------:|
|hash1  |       0.225|     0.237|
|       |           -|     1.05x|
|hash2  |       0.110|     0.110|
|       |       1.00x|         -|

* vm_exec.c: improve performance for arm64

|                               |compare-ruby|built-ruby|
|:------------------------------|-----------:|---------:|
|vm_array                       |     26.501M|   27.959M|
|                               |           -|     1.06x|
|vm_attr_ivar                   |     21.606M|   31.429M|
|                               |           -|     1.45x|
|vm_attr_ivar_set               |     21.178M|   26.113M|
|                               |           -|     1.23x|
|vm_backtrace                   |       6.621|     6.668|
|                               |           -|     1.01x|
|vm_bigarray                    |     26.205M|   29.958M|
|                               |           -|     1.14x|
|vm_bighash                     |    504.155k|  479.306k|
|                               |       1.05x|         -|
|vm_block                       |     16.692M|   21.315M|
|                               |           -|     1.28x|
|block_handler_type_iseq        |       5.083|     7.004|
|                               |           -|     1.38x|
2020-08-14 02:15:54 +09:00
..
backward sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
internal Enable arm64 optimizations that exist for power/x86 (#3393) 2020-08-14 02:15:54 +09:00
assert.h sync NDEBUG, RUBY_DEBUG, and RUBY_NDEBUG (#3327) 2020-08-07 14:01:13 +09:00
backward.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
debug.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
defines.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
encoding.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
intern.h drop varargs.h support 2020-05-11 14:56:51 +09:00
io.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
missing.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
onigmo.h Reduce ONIG_NREGION from 10 to 4: power of 2 and testing revealed most pattern matches are less than or equal to 4 results 2019-05-07 21:58:55 +09:00
oniguruma.h Merge Onigmo 6.0.0 2016-12-10 17:47:04 +00:00
re.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
regex.h add #include guard hack 2020-04-13 16:06:00 +09:00
ruby.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
st.h Fix typos (#2958) 2020-03-11 00:43:12 -07:00
subst.h add #include guard hack 2020-04-13 16:06:00 +09:00
thread.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
thread_native.h add #include guard hack 2020-04-13 16:06:00 +09:00
util.h include/ruby/util.h: delete unused codes 2020-07-23 14:30:12 +09:00
version.h sed -i s/RUBY3/RBIMPL/g 2020-05-11 09:24:08 +09:00
vm.h sed -i 's|ruby/impl|ruby/internal|' 2020-05-11 09:24:08 +09:00
win32.h Fix errno at seeking socket/pipe on Windows 2019-07-25 06:39:40 +09:00