Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
maxime_cb
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
maxime_cb
7d ago
OP here: I think you're reading too much into the title. It's not about the failure of Rust. It's about where I stepped in with some custom optimizations for better performance. If you read the blog post, the solution impleme
2.
▲
by
maxime_cb
7d ago
Author here. The disassembly for the old enum handling had many spills, simply because the old value enum can't fit in a single register. If you have an instruction that two operands with two of those big value enums, it needs 4 regist
3.
▲
Plush's New Register-Based Interpreter Is Insanely Fast
(pointersgonewild.com)
4 points
by
maxime_cb
14d ago
|
0 comments
4.
▲
Replacing a Rust Enum with a 64-Bit Word Made My Interpreter 17% Faster
(pointersgonewild.com)
5 points
by
maxime_cb
22d ago
|
0 comments
5.
▲
by
maxime_cb
1mo ago
I'm assuming you mean that this tech became available in OpenCV 25 years ago, but as it turns out, the underlying tech can be traced back much further, at least as far as 1977! :) https://ieeexplore.ieee.org/document&#x
6.
▲
Speeding Up the Plush Garbage Collector
(pointersgonewild.com)
18 points
by
maxime_cb
1mo ago
|
1 comments
7.
▲
Building Groovie, an Advanced Web-Based Drum Machine / Beat Sequencer
(pointersgonewild.com)
2 points
by
maxime_cb
1mo ago
|
1 comments
8.
▲
by
maxime_cb
1mo ago
Thanks :) I've made a couple of music apps over the years, including one of the oldest JS music apps on the web, that also does URL encoding: https://pointersgonewild.com/2012/04/23/musictoy-music-made-..
9.
▲
Show HN: I built one of the most advanced web-based drum/beat sequencers
(maximecb.github.io)
4 points
by
maxime_cb
1mo ago
|
2 comments
10.
▲
by
maxime_cb
6mo ago
I gave a talk about ZJIT and the motivation for the change at RubyKaigi 2025 if people are curious. It's on YouTube.
11.
▲
by
maxime_cb
6mo ago
Max Bernstein is now leading the team. He's also an excellent compiler engineer.
12.
▲
by
maxime_cb
1y ago
Thanks Ken. Apologies if I misunderstood the situation. I wish you all the best.
13.
▲
by
maxime_cb
1y ago
Ruby has the same unfortunate problem.
14.
▲
by
maxime_cb
1y ago
Instigator of YJIT, the CRuby JIT here. It's easy to dismiss our efforts, but Ruby is just as dynamic if not more than Python. It's also a very difficult language to optimize. I think we could have done the same for Python. In fac
15.
▲
by
maxime_cb
3y ago
YJIT is optimized primarily for web workloads. We look at rails performance a lot, but also at various other libraries that are used in that context. If you look at the headline benchmarks at https://speed.yjit.org , it will give
16.
▲
by
maxime_cb
3y ago
Yes, Marc Feeley was my PhD advisor. We came up with the original idea together. I also see it as a development of the work I did in my M.Sc. thesis on type-driven versioning of functions. Basic block versioning is lazy, type-driven tail sp
17.
▲
by
maxime_cb
3y ago
Hope you try again with 3.3. The improvements we've made to YJIT since Ruby 3.1 are massive.
18.
▲
by
maxime_cb
3y ago
It is enough iterations for these VMs to warm up on the benchmarks we've looked at, but the warm-up time is still on the order of minutes on some benchmarks, which is impractical for many applications.
19.
▲
by
maxime_cb
3y ago
The article doesn't go into super deep details but we do touch on it in the paper we've recently published: https://dl.acm.org/doi/10.1145/3617651.3622982 And I went into some more details the talk I gav
20.
▲
by
maxime_cb
3y ago
Ruby 3.3 (coming this Christmas) will have a much faster and more memory efficient YJIT than 3.2. We've made major improvements this year.
21.
▲
by
maxime_cb
3y ago
YJIT tech lead here. On the flip side, YJIT is probably one of the most memory-efficient JIT compilers out there (for any language). I say this having spoken to other JIT implementers. We've worked really hard to reduce the memory over
22.
▲
by
maxime_cb
3y ago
And very crispy.
23.
▲
by
maxime_cb
3y ago
Looks pretty cool :)
24.
▲
by
maxime_cb
3y ago
Author here. If you've grown up in a "normal", functional family, with two loving parents, and you enjoy talking to them on the phone, you should consider yourself very lucky. I only take calls from my mother when I feel up t
25.
▲
by
maxime_cb
3y ago
> I was wondering what the author was smoking with the "ringtone & notifications" complaint. I don't remember seeing an Android phone that did not have separate volume slider for each. This is why I included a screensh
26.
▲
by
maxime_cb
3y ago
Author here. The reason I tend to think it's a software bug is that it seems that the system to dispatch deliveries is automated. The subcontractors get their orders from some kind of computerized system, it seems. That system seems to
27.
▲
by
maxime_cb
4y ago
> However the Ruby community seem to want having their own JIT written in C more than they want performance. YJIT is written in Rust, not C, but it's also not just a matter of wanting to write our own JIT for fun. There are a number
28.
▲
by
maxime_cb
4y ago
Yes. Prior to that point we used to allocate a large chunk of executable memory upfront. We switched to mapping that memory on demand, and that alone was a huge improvement.
29.
▲
by
maxime_cb
4y ago
For anyone curious, we've been working to reduce the memory overhead and have added some stats to keep track of memory usage over time. On this graph, you can see a comparison with the CRuby interpreter: https://speed.yjit.o
30.
▲
by
maxime_cb
4y ago
You're right that the peak performance could be on par (or even better), but, and I acknowledge that I'm biased since I'm tech lead of the YJIT team, my takeaway is: 1. Kokubun, who works with us on the YJIT team, is leveragi
More ›