New stuff in Emacs 30

submited by
Style Pass
2024-10-18 09:00:03

Whoa, the Emacs 30 release cycle has officially started (I totally missed when this was announced a month ago). We're still waiting on a pretest build, but that didn't stop me from reading through the NEWS file and highlighting some of my favorite changes.

This is huge! At least, for those who haven't already been using this since the Emacs 28 opt-in. Native compilation has made a huge performance difference for me, so I'm happy to see it enabled by default.

You no longer need an external library (libjansson) to work with JSON in Emacs. On top of that, JSON parsing performance in Emacs is significantly improved (the author provides that parsing is up to 8x faster). This is all thanks to Géza Herman's contribution: I created a faster JSON parser. He summarizes his changes later in that thread:

My parser creates Lisp objects during parsing, there is no intermediate step as Emacs has with jansson. With jansson, there are a lot of allocations, which my parser doesn't have (my parser has only two buffers, which exponentially grow. There are no other allocations). But even ignoring performance loss because of mallocs (on my dataset, 40% of CPU time goes into malloc/free), I think parsing should be faster, so maybe jansson is not a fast parser in the first place.

Leave a Comment