HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tekknolagi

no profile record

Submissions

Value Numbering

bernsteinbear.com
2 points·by tekknolagi·3 miesiące temu·0 comments

The acyclic e-graph: Cranelift's mid-end optimizer

cfallin.org
74 points·by tekknolagi·3 miesiące temu·22 comments

Value numbering

bernsteinbear.com
2 points·by tekknolagi·3 miesiące temu·0 comments

ZJIT removes redundant object loads and stores

railsatscale.com
92 points·by tekknolagi·4 miesiące temu·19 comments

Two mechanisms for dynamic type checks

wingolog.org
1 points·by tekknolagi·5 miesięcy temu·0 comments

The GDB JIT Interface

bernsteinbear.com
6 points·by tekknolagi·6 miesięcy temu·0 comments

Adding Iongraph Support to ZJIT

railsatscale.com
8 points·by tekknolagi·7 miesięcy temu·1 comments

Graph Neural Networks for Faster Search

chrisgregory.me
2 points·by tekknolagi·8 miesięcy temu·0 comments

comments

tekknolagi
·w zeszłym miesiącu·discuss
Please feel free to open a PR. I'm a bit AFK
tekknolagi
·3 miesiące temu·discuss
See also https://github.com/nedbat/byterun and https://github.com/rocky/x-python
tekknolagi
·3 miesiące temu·discuss
Damn. I wish I thought of that.
tekknolagi
·4 miesiące temu·discuss
I will add "compiler" before "optimizer" and link to the toy optimizer series
tekknolagi
·5 miesięcy temu·discuss
Oh hi! Thanks for posting. As I wrote this I wasn't sure if it was enough of a post. Let me know if you wanted to hear about anything else that seemed missing.
tekknolagi
·5 miesięcy temu·discuss
You may enjoy https://github.com/ludocode/onramp
tekknolagi
·6 miesięcy temu·discuss
As I said on Lobsters as well, this is a superb overview.
tekknolagi
·6 miesięcy temu·discuss
https://bernsteinbear.com

I write about programming languages and compilers
tekknolagi
·7 miesięcy temu·discuss
YJIT and ZJIT don't use method annotations.
tekknolagi
·7 miesięcy temu·discuss
Yes; see the first ZJIT blog post. https://railsatscale.com/2025-05-14-merge-zjit/
tekknolagi
·7 miesięcy temu·discuss
In that scenario, what would you hope to get out of the LBBV?
tekknolagi
·7 miesięcy temu·discuss
If all you're doing is summing small integers---frequently the case---it's much preferable to optimize that to be fast and then skip the very dynamic method lookup (the slower, less common case)
tekknolagi
·7 miesięcy temu·discuss
YJIT is not deprecated. That word has a specific meaning in Ruby. You can continue to use YJIT.

With any luck, this performance in the next year or two will be enough to make it a happy change. "Damn, free money" etc
tekknolagi
·7 miesięcy temu·discuss
Earnestly: why are you annoyed? I tried to make it clear that you don't have to make any changes. If you want, you can try ZJIT (which should not be anything other than a one character change), but you don't have to.
tekknolagi
·7 miesięcy temu·discuss
In this case, we used to abort (i.e. abort(); intentionally crash the entire process) but now we jump into the interpreter to handle the dynamic behavior.

If someone writes dynamic ruby code to add two objects, it should succeed in both integer and string cases. The JIT just wants to optimize whatever the common case is.
tekknolagi
·7 miesięcy temu·discuss
It's a "teach people how to teach themselves to fish" class
tekknolagi
·7 miesięcy temu·discuss
You'll never guess what we talk about later on in the unit. Spoiler: exactly that!

It notionally focuses on make but the concepts apply much more broadly than the one specific tool
tekknolagi
·7 miesięcy temu·discuss
The schedule is generated from a Python script, but doesn't involve YAML
tekknolagi
·7 miesięcy temu·discuss
If you're interested, see also https://bernsteinbear.com/isdt/ by me and Tom
tekknolagi
·7 miesięcy temu·discuss
This kind of compiler/runtime feedback about source code is really interesting and (imo) under-studied. Especially when you take into account something like PGO data.