's Avatar

@ioquatix

878
Followers
6
Following
60
Posts
31.10.2024
Joined
Posts Following

Latest posts by @ioquatix

Also, looking at those numbers, event machine was using more than 3x the processor time:

> (17.97+8.42) / 241.45
=> 0.10929799130254712

> (76.58+5.03) / 243.25
=> 0.3354984583761562

So even if, for example, it was 5% better in wall clock time (unproven), it's costing you ~3x in processor time.

01.03.2025 02:44 👍 1 🔁 0 💬 0 📌 0
Post image

Realistically as long as the network is the same for both tests, it's not going to change the outcome, however it might affect the ratio of processor/network which could influence some of the numbers. I tried 10 x 100_000:

01.03.2025 02:37 👍 0 🔁 0 💬 1 📌 0

I changed the code to do 10 x 10,000 which is 100k. Better to benchmark with a fixed known load.

01.03.2025 01:52 👍 1 🔁 0 💬 1 📌 0
"Performance Matters" by Emery Berger
"Performance Matters" by Emery Berger YouTube video by Strange Loop Conference

This is a good talk which will help give you a deeper understanding of how to compare these types of systems: www.youtube.com/watch?v=r-TL...

01.03.2025 00:55 👍 2 🔁 0 💬 0 📌 0

IOW, since eventmachine and async follow largely the same design strategy (event loop), I'd expect them to be similar in terms of performance.

01.03.2025 00:54 👍 1 🔁 0 💬 1 📌 0

One thing to confirm would be the use of per-message deflate and how it's negotiated. Since each message may need to be processed by libz/deflate, it could change the performance characteristics. This wouldn't be a comparison of async vs eventmachine, but different connection parameters.

01.03.2025 00:54 👍 1 🔁 0 💬 1 📌 0

One thing you'll notice is that while the wall clock run-time was about the same (25s) the actual user processor time was greatly reduced, in conclusion, one could say that async was more efficient (less time spent executing CPU instructions). I'm not sure what would specifically cause this though.

01.03.2025 00:52 👍 1 🔁 0 💬 1 📌 0
Post image

This benchmark is hard to draw conclusions from. The network conditions are constantly changing. I got similar results from both systems but I also saw fluctuations one way or another too. To really see the difference, you'd need to run a local "firehose" to remove the network variance.

01.03.2025 00:46 👍 1 🔁 0 💬 2 📌 0

Hello

01.03.2025 00:01 👍 0 🔁 0 💬 1 📌 0

Using `Module#set_temporary_name` (added by @ioquatix.bsky.social 🤘).

I am decorating Active Record with a module. Don't need a constant for it, and an unexpected constant could mess existing lookups up.

You'd typically use an anonymous module, but that is meaningless in ancestor chain listings.

14.02.2025 17:00 👍 11 🔁 1 💬 1 📌 0

ChatGPT wrote this code:

ruby(47811,0x1fc22c840) malloc: Heap corruption detected, free list is damaged at 0x60000040bc00
*** Incorrect guard value: 585253
ruby(47811,0x1fc22c840) malloc: *** set a breakpoint in malloc_error_break to debug

10.02.2025 02:48 👍 3 🔁 0 💬 0 📌 0
Post image

For example, when I switched @tinyzap.com from Puma to @ioquatix.bsky.social's Falcon server, my entire web application was much more responsive and loads faster in the browser because each image you see in the screenshot below fires a request to Rails to get the image URL.

07.02.2025 17:31 👍 6 🔁 2 💬 5 📌 0

The Ruby Fiber::Scheduler embraces the GVL while Threads constantly bump up against it. I specifically designed the scheduler to work with the GVL with minimal impact. However, that being said, in the future I want to remove the GVL and experiment with a work stealing multi-threaded scheduler.

09.02.2025 22:41 👍 1 🔁 0 💬 0 📌 0
Post image

Rack has passed 1 billion downloads.

30.01.2025 22:41 👍 14 🔁 1 💬 1 📌 0
Post image

I'll remember this for next time I'm in a meeting and asked a question I don't have an answer for.

30.01.2025 22:02 👍 2 🔁 0 💬 0 📌 0

You should write an adapter for bake.

28.01.2025 21:10 👍 1 🔁 0 💬 1 📌 0
Screenshot of a terminal that has a thread unsafe program displayed and a warning emitted when objects are mutated from different threads

Screenshot of a terminal that has a thread unsafe program displayed and a warning emitted when objects are mutated from different threads

Made a patch for Ruby that I think is cool, but probably can't be on by default. It emits a warning when an object is mutated from a thread that didn't create the object (patch is here: github.com/ruby/ruby/co...)

27.01.2025 22:08 👍 48 🔁 5 💬 6 📌 0
Post image

Good job GitHub Actions. Did it pass or fail? Oh, refresh the page. Status is updated to green tick... awesome.

28.01.2025 00:37 👍 0 🔁 0 💬 0 📌 0
Preview
Evolving GitHub Issues - Public Preview · community · Discussion #148713 GitHub Issues is evolving! 🥳 Feedback wanted Thank you for participating in the issues public preview for sub-issues, issue types and advanced search. To provide your feedback on other experiences ...

Best use of katamari in a bug report.

github.com/orgs/communi...

25.01.2025 08:48 👍 1 🔁 0 💬 0 📌 0
Scattergun is open for new users once again Scattergun is open for business again. I initially launched the product way back in October, 2021. A few months later, my accountant told me I couldn't directly collect payments for SaaS from EU consu...

At long last, Scattergun is back in business! Our focus was, and remains, simple and privacy focused mailing lists.

After a period of hibernation, we're also making a commitment to remain online and operation for as long as there are paying users.

Here's all the details:

21.01.2025 13:22 👍 3 🔁 2 💬 0 📌 2
Post image

Time for marshmallows 😋

21.01.2025 09:28 👍 7 🔁 0 💬 0 📌 0
Post image

Gone fishing.

21.01.2025 04:58 👍 8 🔁 0 💬 0 📌 0

I’m having a sugar collapse. Will go swimming to burn off the excess energy.

17.01.2025 07:23 👍 2 🔁 0 💬 0 📌 0
Post image Post image

Innovations in pizza: blueberry and marshmallow 😋

17.01.2025 06:58 👍 4 🔁 0 💬 1 📌 0

I will miss your newsletter, wishing you a speedy recovery!

12.01.2025 22:20 👍 3 🔁 0 💬 1 📌 0
Post image

I built a rock sculpture.

07.01.2025 04:11 👍 3 🔁 0 💬 0 📌 0
Post image

Many years ago in Reefton, I took this photo of a man and his pet possum. Possums are considered a pest in New Zealand, but I love the facial expressions in this photo.

06.01.2025 23:48 👍 6 🔁 0 💬 1 📌 0
Post image

Baking focaccia.

06.01.2025 02:50 👍 16 🔁 0 💬 0 📌 0
Post image Post image Post image

Ginger bread mountains.

23.12.2024 06:27 👍 1 🔁 0 💬 0 📌 0
Revolutionizing Ruby Deployment with Falcon Web Server and Async Concurrency Framework - RUBY 627
Revolutionizing Ruby Deployment with Falcon Web Server and Async Concurrency Framework - RUBY 627 YouTube video by Top End Devs

🎙️ Earlier this year, I joined Ruby Rogues to talk about Async, Falcon, and advancing Rails with concurrency & streaming. 🚀 We explored challenges, simplifying deployments, and even gave Futurama a shoutout. 📺💡

www.youtube.com/watch?v=fpXB...

22.12.2024 02:09 👍 5 🔁 4 💬 0 📌 0