Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
```
$ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_class.yml --repeat-count=4
before: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) [x86_64-linux]
after: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) [x86_64-linux]
before --jit: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) +JIT [x86_64-linux]
Calculating -------------------------------------
before after before --jit after --jit
mjit_class(self) 39.219M 40.060M 53.502M 69.202M i/s - 40.000M times in 1.019915s 0.998495s 0.747631s 0.578021s
mjit_class(1) 39.567M 41.242M 52.100M 68.895M i/s - 40.000M times in 1.010935s 0.969885s 0.767749s 0.580591s
Comparison:
mjit_class(self)
after --jit: 69201690.7 i/s
before --jit: 53502336.4 i/s - 1.29x slower
after: 40060289.1 i/s - 1.73x slower
before: 39218939.2 i/s - 1.76x slower
mjit_class(1)
after --jit: 68895358.6 i/s
before --jit: 52100353.0 i/s - 1.32x slower
after: 41241993.6 i/s - 1.67x slower
before: 39567314.0 i/s - 1.74x slower
```
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
These days I don't use `make benchmark`. The YAML files should be
executable with bare `benchmark-driver` CLI without passing
`RUBYOPT=-Ibenchmark/lib`.
|
|
A prerequisite to fix https://bugs.ruby-lang.org/issues/15589 with JIT.
This commit alone doesn't make a significant difference yet, but I thought
this commit should be committed independently.
This method override was discussed in [Misc #16961].
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Consider the libraries, which remain exts.mk but not listed in
ext/configure-ext.mk, removed.
|
|
|
|
|
|
This reverts commit 19cabe8b09d92d033c244f32ff622b8e513375f1,
which didn't support tool/lib/iseq_loader_checker.rb.
|
|
|
|
Scripts to run the interpreter via debugger.
|
|
Sorted the lines asnd added mjit_build_dir.o dependencies.
|
|
|
|
`programs` has depended on the "fake" script, which is used by
`test-spec` and etc.
|
|
All tests of `test-all` or more require not only the `main` but
also extension libraries.
|
|
|
|
|
|
* Do not chdir in the runner process, to access miniruby. Chdir
in worker processes instead.
* GNU make does not export newly added environment variables by
default, set PARALLEL_TESTS_EXECUTABLE in the runner.
Notes:
Merged: https://github.com/ruby/ruby/pull/3189
|
|
|
|
|
|
* match uppercase types which would be global, other than [BDT]
* ignore `RUBY_` prefixed symbols
|
|
To honor the environment variable, keep GITPULLOPTIONS unset by
default, and appended the option to VCSUP.
|
|
At the time of clean-platform, platform directory may not be empty
because of parallel build.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3086
|
|
|
|
As this rule does not use a separate timestamp file, the target
will be rebuilt every time once it is outdated.
|
|
To fix build failures.
Notes:
Merged: https://github.com/ruby/ruby/pull/3079
|
|
This shall fix compile errors.
Notes:
Merged: https://github.com/ruby/ruby/pull/3079
|
|
Fix MSVC build error.
Notes:
Merged: https://github.com/ruby/ruby/pull/3097
|
|
To generate what is necessary via generic_erb.rb instead.
Notes:
Merged: https://github.com/ruby/ruby/pull/3097
|
|
To generate what is necessary via generic_erb.rb instead.
Notes:
Merged: https://github.com/ruby/ruby/pull/3097
|
|
As fork(2) is deprecated, its calls must be guarded by
`COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`.
All usages of fork(2) in process have been alread guarded. A new call
to fork(2) was added in ruby.c with f22c4ff359498ab342e4b6d6feb21af6004ee270.
This caused a build failure on Solaris 11.
It may hide a bug to guard big code unnecessarily, so this change
introduces a simple wrapper "rb_fork" whose definition is guarded, and
replaces all calls to fork(2) with the wrapper function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Often it is easy to search, grep, etc from command line, for
debugging purpose.
|
|
This reverts commit 443389effc37308ce1a3c3a840082a344fc6af56.
This reverts commit d94960f22ec2de3a3855305cb51343806d2b46c7.
Inclusion of header files must be explicit. Every file shall directly
include what is necessary.
https://github.com/include-what-you-use/include-what-you-use says:
> When every file includes what it uses, then it is possible to edit any
> file and remove unused headers, without fear of accidentally breaking
> the upwards dependencies of that file. It also becomes easy to
> automatically track and update dependencies in the source code.
Though we don't use iwyu itself, the principle quoted above is a good
thing that we can agree.
Now that include guards were added to every and all of the headers
inside of our project this changeset does not increase compile time, at
least on my machine.
Notes:
Merged: https://github.com/ruby/ruby/pull/3023
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3010
|
|
Split ruby.h
Notes:
Merged-By: shyouhei <shyouhei@ruby-lang.org>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3006
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3003
|
|
|
|
Notes:
Merged-By: hsbt <hsbt@ruby-lang.org>
|
|
hoping to fix https://github.com/ruby/actions/runs/527422022
|
|
|