Author here: this is indeed just relative score change, the M1's absolute values are of course impressively high. My personal, unofficial suspicion is that this has something to do with the size of the M1's reorder buffer being so large that it can just predict and speculate straight through all the interpreter overheads; but that's just a guess.
But why is it that one of the benchmarks is so negative then? What is it about that test?
I'm guessing that benchmark is so short-running that adding compile overhead doesn't result in code that manages to pay for the compile overhead. It's unlikely a huge problem on that short-running benchmark though. But fair to show the weak points as well as the strengths of Sparkplug.
Those benchmarks measure performance increase rather than performance overall. M1 isn't necessarily doing "worse" as much as it just didn't see as much of an improvement as the others.
But there’s one that went way negative, on a relative basis.