Shopify / yjit-bench

Set of benchmarks for the YJIT CRuby JIT compiler and other Ruby implementations.
MIT License
87 stars 22 forks source link

Add TruffleRuby in CI #251

Closed eregon closed 1 year ago

eregon commented 1 year ago

It would be nice if benchmarks also ran a single iteration on TruffleRuby in CI. Currently all benchmarks pass after https://github.com/Shopify/yjit-bench/pull/250

If some new benchmark does not work on truffleruby or there is some issue with a benchmark on truffleruby it would be fine to just exclude that benchmark on truffleruby, the goal is not to prevent merging benchmarks which do not work on truffleruby but just raise awareness if a change to yjit-bench does not work on TruffleRuby.

eregon commented 1 year ago

Actually I think it'd be good to test on the latest CRuby release too, to make sure benchmark run fine there too, I pushed a commit for that.

noahgibbs commented 1 year ago

Currently failing for TruffleRuby in CI due to a StackOverflowError, looks like a line that calls itself:

from org.truffleruby.language.methods.TranslateExceptionNodeGen.executeTranslation(TranslateExceptionNodeGen.java:112)
    from org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:99)
/home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:60:in `subclasses'
    from /home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:61:in `subclasses'
    from /home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:61:in `subclasses'
    from /home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:61:in `subclasses'
    from /home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:61:in `subclasses'
    from /home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:61:in `subclasses'
    from /home/runner/.rubies/truffleruby-head/lib/gems/bundler/gems/rails-4e01a7e8753c/activesupport/lib/active_support/descendants_tracker.rb:61:in `subclasses'
eregon commented 1 year ago

Yes, that's fixed by https://github.com/Shopify/yjit-bench/pull/250, I didn't include these commits again here to make the diff easier to review. Will rebase once that's merged.