Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hi there 👋

I'm Andi(@largo)! I like to automate things for myself and others, so I became a programmer! Please leave a comment or an issue if you try out any of my projects and cannot get it to work. I love meeting new people, say hello. お気軽にご連絡ください。

A small part in making Ruby faster on Windows

In January 2023 I wondered why require 'gtk3' took 3+ seconds on Windows. I traced it with Procmon and filed Bug #19378. The cause: Windows has no native realpath, so Ruby emulates it. Every require opened a handle on every parent directory of the file, and each open cost 8 syscalls. One file deep inside a gem (C:\Ruby32-x64\lib\ruby\gems\3.2.0\gems\glib2-4.0.8\lib\glib2\variant.rb) needed 80 syscalls, and the same work was repeated for every file.

In 2026 I tried GetFileInformationByName (Windows 11 24H2+), which gets the same information in one call, and attached a rough patch. Hiroshi Shibata did the careful part: he reworked it for ReFS, junctions and mount points, tested it thoroughly and merged it in ruby/ruby#18193. My original commit is part of it. In his benchmarks File.stat got about 3.9× faster and requiring big gems like rubocop or active_support 1.35–1.55× faster.

This should be in Ruby 4.1 this Christmas, so the short delay when a Ruby program starts on Windows gets noticeably shorter.

I also tried YJIT on Windows. It had never run there (#19325), and in August 2026 I got an experimental port working with a lot of help from AI. It mostly showed that it could be done. hsbt then wrote a proper implementation for mswin (ruby/ruby#19114), which passes the test suite and runs about 2× faster than the interpreter in his benchmarks. It is waiting for review now.

Thanks to nobu, hsbt and everyone who commented on these tickets over the years.

New this autumn (2026)

Chunky Bacon: learn Ruby in your browser ruby_llm-claude_cli: your Claude Code login as a RubyLLM provider ruby_llm-providers-infomaniak: Swiss-hosted open models in plain Ruby

Ruby in the browser (ruby.wasm)

Ruby + LLMs

Office files

  • Largo/ruby_pptx: a Ruby port of python-pptx. Create, read and update PowerPoint files. Gem

Recent Projects

Fields of interest: Ruby, MRuby / Picoruby, PHP, Python, JavaScript/Typescript, C/C++/C#, SaaS, VSCode Devcontainers, Docker, Self-hosting, crossplattform (Linux, Windows, MacOS), ecommerce, single developer projects, talking to people and helping them using code, simple solutions like htmx

Blogposts:

About

My personal repository.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors