Issue #19325 has been updated by aidog (Andi Idogawa).
Hello everyone!
First, let me thank you for all your work! Ruby on Windows has helped me a lot over the
years. Gems with C extensions used sometimes fail to install, but nowadays it works. Ruby
Installer with MSYS2 actually works quite well. Of course, it would be nice, if MSYS2
wasn't necessary, but I believe most users care the most that for example **gem
install sqlite3** just works.
I'm a ruby programmer without much C experience, but as a challenge, I tried to figure
out how to debug the ruby source code on windows. I think the easiest way to build is to
use ruby-loco[1].
I managed to debug and step through the code, but it took me a few days. While I cannot
help with development, wouldn't it be good to make it easier for others to build and
debug ruby on windows, so a lot more people could easily help?
By the way, I started this project, because require takes longer on windows[2]. I found a
lot of good work over the years to make FileIO on windows faster, but if you look at the
linked CSV file [3] you will see a lot of syscalls (0.5 seconds long for require
'tzinfo'). I couldn't figure out if it's in the c code (winnt_stat should
be cached?) or if it is actually rubygems that does unnecessary things.
If I remove all the duplicate syscalls with the (seemingly) same result from the file, it
would only take 0.06 seconds... wow!
If we improve this, maybe more people will use ruby to make windows GUI applications,
because they will start faster. Users don't need to install ruby, because there is
ocra [4]. Of course, if we also get YJIT that would be even better.
Thanks again everyone!
[1]
https://github.com/MSP-Greg/ruby-loco/
[2]
https://github.com/oneclick/rubyinstaller2/issues/328
[3]
https://github.com/oneclick/rubyinstaller2/files/10370934/Logfile.CSV
[4]
https://github.com/larsch/ocra
----------------------------------------
Feature #19325: YJIT: Windows support lacking.
https://bugs.ruby-lang.org/issues/19325#change-101232
* Author: dsisnero (Dominic Sisneros)
* Status: Assigned
* Priority: Normal
* Assignee: yjit
----------------------------------------
Ruby's support on windows has always been second class. With some of the recent
decisions, windows support is falling even more behind. Recent developments in mjit and
yjit that exclude windows are two glaring issues that should be corrected. Googling
'percent of windows vs other operating systems' and it shows windows has a share
of 76%. Ceding that users to python and other programming languages has to be one of the
reasons python continues get more market share from ruby. With rust having first class
windows support and threading support, is there a reason why yjit is not able to work on
windows? Also, windows compiler support has matured enough and vcpkg support has evolved
enough that it seems it should be possible to finally get a ruby version without having to
use msys2. Even Crystal language has a version that runs on windows without needing
msys2.
--
https://bugs.ruby-lang.org/