June 8, 2026

Tree-mendous speed, leafy backlash

Amber Tree: A Middle Ground Between Rowan Red and Green Trees

Coders found a faster middle option, but the comments came in swinging

TLDR: A developer says their new “Amber Tree” design makes code tools much faster by keeping the useful parts and ditching some overhead. Commenters were less dazzled by the speed than annoyed by the article’s confusing setup, with critics arguing basic context and error-location details should never be optional.

A programmer unveiled the “Amber Tree”, basically a new middle-option way to organize code so tools can run faster without carrying all the extra baggage of older designs. In plain English: they took something that was convenient but slower, mixed it with something faster but more annoying to use, and got a hybrid that reportedly slashed some task times by 23% to 59%. For people building tools that read and format WebAssembly text files, that’s the kind of speedup that makes performance nerds start pacing the room.

But the real fireworks were in the reaction. One early commenter, xemdetia, was not here for the presentation style, calling the article frustrating because it seemed to assume everyone already knew what “rowan” and “green trees” were. That complaint quickly became the mood-setter: less “wow, cool benchmark” and more “sir, please explain the basic premise before flexing the numbers.” The sharpest criticism was that a code tree without clear start-and-end positions sounds borderline absurd if you care about showing users where an error actually is. In other words, some readers saw Amber Tree as clever engineering, while others were still stuck asking why the old setup was missing what they consider table-stakes information.

The vibe? Half applause, half side-eye. The jokes practically wrote themselves: if red and green had a baby, of course the internet would name it Amber and start arguing about whether the family tree makes any sense.

Key Points

  • The article proposes an “Amber Tree” as an intermediate syntax-tree design between rowan’s red tree and green tree.
  • AmberNode is implemented as a lightweight structure containing a reference to a GreenNode and a TextRange.
  • The amber-tree design targets use cases that need convenient traversal and source ranges but do not need parent or sibling navigation.
  • In the author’s language service benchmarks, unchanged-text processing improved from 15.469 µs to 7.609 µs and changed-text processing improved from 224.73 µs to 172.39 µs.
  • In wat_formatter, switching to the amber tree enabled direct `&str` passing to tiny_pretty without allocation, reducing execution time from about 85.191 µs to 34.808 µs.

Hottest takes

"This article is pretty frustrating" — xemdetia
"I had to read a bit to know you were even talking about a rust lib" — xemdetia
"If you don’t have this error reporting becomes..." — xemdetia
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.