Hello, Currently we use the "byebug" Ruby debugger [1] in YaST [2], however the latest Ruby 3.1 includes [3] a new debugger "debug" [4] in the standard library. I have quickly checked the provided features and it seems it provides the same features as the byebug gem, including the remote debugging which is necessary for YaST. (We need to run the debugger frontend in a different process because it cannot use the current terminal if it is used by the ncurses UI or not available at all like in an VNC installation.) Byebug works fine with Ruby 3.1 but in the long term we should switch to the standard debugger to avoid external dependency. The new debugger is actually a standard Ruby gem, I thought we could backport it to SLE so we could use only one implementation consistently. Unfortunately it needs Ruby version 2.6 or higher so that's not possible. :-( So my plan is to spend some innovation time later and use either "byebug" or "debug" debugger in YaST depending on what is currently available. If you are interested in this and would like to join then just ping me... Ladislav [1] https://github.com/deivid-rodriguez/byebug [2] https://github.com/yast/yast-ruby-bindings/blob/master/src/ruby/yast/debugge... [3] https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/ [4] https://github.com/ruby/debug -- Ladislav Slezák YaST Developer SUSE LINUX, s.r.o. Corso IIa Křižíkova 148/34 18600 Praha 8
Dne 2022-01-03 16:51, Ladislav Slezák napsal:
[3] https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
Ruby 3.1 also includes a new just-in-time compiler enabled with '--yjit'. I wondered whether it might be useful for us, and the answer seems to be a resounding NO:
By default, YJIT allocates an additional 256MiB for generated code. The additional size allocated can be tuned with a command-line parameter, but allocating too little memory will result in YJIT crashing.
https://speed.yjit.org/benchmarks/bench-2021-10-13-070947 Martin
On Thu, 06 Jan 2022 13:12:36 +0100
Martin Vidner
Dne 2022-01-03 16:51, Ladislav Slezák napsal:
[3] https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
Ruby 3.1 also includes a new just-in-time compiler enabled with '--yjit'.
I wondered whether it might be useful for us, and the answer seems to be a resounding NO:
By default, YJIT allocates an additional 256MiB for generated code. The additional size allocated can be tuned with a command-line parameter, but allocating too little memory will result in YJIT crashing.
https://speed.yjit.org/benchmarks/bench-2021-10-13-070947
Martin
Well, I would be still interested in speed comparison (especially installation). If it is reasonable, we can enable yjit when there is enough memory in insts-sys or on system. It can create good impression when users/journalist test installation on their machines with enough memory. Josef
participants (3)
-
josef Reidinger
-
Ladislav Slezák
-
Martin Vidner