#performance
19 posts
2026 - March
1 post2025 - May
2 posts2025 - April
3 posts2017 - September
1 post2017 - June
2 posts2017 - January
1 post2016 - July
1 post2016 - June
2 posts2016 - March
1 post2015 - December
1 post2015 - November
1 post2014 - October
1 post2008 - September
1 post2008 - June
1 post2026 - March
1 postReview: Minisforum MS-S1 Max | AMD AI Max+ 395 with 96GB of VRAM
In my tests, the RTX 5090 was up to 7 times faster on models that fit within 32GB. The Minisforum, however, ran 50-to-81GB models the card can’t handle.
2025 - May
2 postsYour Windows May Be Crippled Without You Knowing. Check This!!
How a hidden Windows Power Saver profile was silently throttling a high-end desktop to a fraction of its real speed, and how to fix it.
Final Attempt to Train an LLM with LoRA. Cannon Shot, But Missing the Fly.
Renting an 80GB H100 on RunPod to fine-tune Qwen3-32B with a LoRA on Zig 0.14, and discovering that even cannon-class hardware can still miss the target.
2025 - April
3 postsAccessing Your NAS Using iSCSI Instead of SMB
Why I moved my Docker data-root off NFS and onto an iSCSI virtual drive served from my Synology NAS, and how block-level storage crushes file-based protocols for high-churn workloads.
Upscaling Old Anime to 4K with AI
Using Real-ESRGAN and Video2X inside a CUDA Docker container to upscale old anime files to 4K on an NVIDIA RTX 4090.
BIOS Configuration of My PC - X670E Aorus Xtreme
My BIOS tuning notes for a Ryzen 9 7950X3D on a Gigabyte X670E Aorus Xtreme, plus Linux-Zen kernel and an automated BIOS update checker.
2017 - September
1 postWindows Subsystem for Linux is good, but not enough yet
I tested WSL with Rails, RSpec, PhantomJS, and Ruby and compared it with Linux and VirtualBox. Filesystem emulation was at least four times slower, so I stuck with virtualized Linux.
2017 - June
2 postsEx Manga Downloadr - Part 7: Properly dealing with large Collections
After Flow took over 3 minutes, I replaced it with Task.async_stream and got the old timings back. The solution simplifies the code, but reduces control and leaves downloads without retry.
Ex Manga Downloadr - Part 6: The Rise of FLOW
I replaced Poolboy and a custom GenServer with Flow to simplify parallel scraping. The code became more readable, but took over 3 minutes, versus less than half that in the previous version.
2017 - January
1 postOptimizing Linux for Slow Computers
I improve Linux responsiveness on an old Lenovo by tuning swap, schedulers, Dropbox, and Tracker. The biggest gains still come from adding more RAM and using a fast SSD.
2016 - July
1 postTrying to match C-based Fast Blank with Crystal
Rewriting Fast Blank in Crystal and comparing it with C and Ruby, the author finds string copying expensive. For this trivial algorithm, the C version remains the best choice.
2016 - June
2 posts[Manga-Downloadr] Improving the Crystal/Ruby from bursts to pool stream
Replacing request bursts with steady worker pools in Manga-Downloadr, the author cuts times to 27s in Ruby, 30s in JRuby, and 21s in Crystal, but Elixir finishes in 15s.
Small Experiment with Rails over JRuby 9.x on Heroku
Comparing the same Rails app on MRI and JRuby 9.1 on Heroku, the author finds similar performance but higher memory use and unstable boot on JRuby. For this case, MRI remains preferable.
2016 - March
1 postImproving your Microservices Integration Performance with Memcache and ETAGs
Using ETAGs, If-None-Match, and Memcached between two Rails APIs, the author cuts responses from 26ms to 12ms and from 62ms to 24ms. The simple technique helps most with rarely changing data.
2015 - December
1 postThe Obligatory "Flame War" Phoenix vs Node.js
In an admittedly unfair Siege benchmark, Node.js leads during I/O warmup, but Phoenix handles requests that block for one second better as concurrency increases.
2015 - November
1 postEx Manga Downloadr - Part 2: Poolboy to the rescue!
I replaced manual batches of 80 requests with a GenServer Worker using Poolboy and a Supervisor, backed by a pool of 50 processes. Akira’s roughly 2,200 pages took under 50 seconds, limited by MangaReader.
2014 - October
1 postThe New Kid on the Block for Ruby Servers: Raptor!
I tested Raptor’s beta in synthetic Rack and Rails 4.1.6 benchmarks: it reached nearly four times the throughput in some scenarios, with slow-client protection and support for JRuby and Nginx.
2008 - September
1 postChatting with Joshua Peek
Joshua Peek explains how he joined Rails Core after making Rails 2.2 thread-safe during Google Summer of Code. The interview covers modest MRI gains, JRuby improvements, and caches preloaded at boot.
2008 - June
1 postChatting with Blaine Cook (Twitter)
Blaine Cook separates performance from scalability, explains Twitter’s asynchronous architecture and the cost of sharding. In his view, scaling problems are rarely Rails’ fault.