8
points
tekknolagi
Joined 1,795 karma
[ my public key: https://keybase.io/tekknolagi; my proof: https://keybase.io/tekknolagi/sigs/3yeAq3H_gbqDnK8_Il6wEe8ncwrDEkYiZc0ld5NxGIE ]
https://bernsteinbear.com
email on website
- tekknolagiYJIT and ZJIT don't use method annotations.
- Yes; see the first ZJIT blog post. https://railsatscale.com/2025-05-14-merge-zjit/
- In that scenario, what would you hope to get out of the LBBV?
- 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)
- 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
- 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.
- 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.
- It's a "teach people how to teach themselves to fish" class
- 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
- The schedule is generated from a Python script, but doesn't involve YAML
- If you're interested, see also https://bernsteinbear.com/isdt/ by me and Tom
- 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.
- No, HM is unification based and requires no annotations at all.
- sqlitedict? Or shelve/dbm?
- 2 points
- The good news is now you got tricked (accidentally, tbh) into reading about compilers!
- <3
- The real fix felt more complicated when I drafted this. Seems like it isn't; I'll think about updating the post
- In case the author didn't notice, the organization name appears to be missing an L - "litte"