Bug #21696
openPerformance degradation for long running processes in Ruby 4.0.0-preview2
Description
When running my RubyMeasureResponsetime tool (https://github.com/easydatawarehousing/ruby_measure_responsetime) on Ruby 4.0.0-preview2, a slow but steady performance degradation is measurable.
Both the Rails and the Roda based test applications show this. And both with and without yjit.
The Rails application when using yjit also seems to have increasing memory usage over time.
Running the same tests on Ruby 3.4.7 shows stable performance and memory usage.
I have included some plots showing this behavior.
Files
Updated by ufuk (Ufuk Kayserilioglu) about 6 hours ago
Did 3.5-preview1 have the same behaviour? If not, could you bisect between the two releases to find the commit that changed the behaviour?
Updated by easydwh (Ivo Herweijer) about 5 hours ago
ufuk (Ufuk Kayserilioglu) wrote in #note-1:
Did 3.5-preview1 have the same behaviour? If not, could you bisect between the two releases to find the commit that changed the behaviour?
Just ran the test, only for the Roda app. Results look very similar (almost identical) to 3.4.7. Logically the culprit should be a commit for 4.0-preview.
I don't know anything about Ruby source code, so pinpointing the commit(s) involved is beyond my knowledge.