Fix all remaining negative zero bugs#280
Conversation
|
How does this effect performance? |
|
My only datapoint so far is that |
|
some years ago i thought about gathering up some hundreds of projects so i can make a proper performance tracking and comparison system, though i never got around to that. would've been really cool to have these last weeks |
|
it's also on https://experiments.turbowarp.org/fix-negative-zero/ if you were interested in testing anything yourself Linux in Scratch, in Firefox, with warp timer, goes from around 36s -> around 40s to boot so it's measurable though less catastrophic than I expected. Chrome in the same configuration is maybe just a tiny bit slower but I think it's within noise. |
cb42808 to
06dbe65
Compare
|
I'm a tiny bit sad to see even any performance deficit on any browser (of course it would be Firefox tbh), but I'm extremely happy it's minor enough (and prooobably only in Firefox maybe? Idk I'd have to ask my friend who knows way too much about Chromium) this may be merged <3 |
|
the justification is
|
My understanding is that the new compiler tries to reason about -0 a good bit but the use of
(x||0)prevents it from fixing all of the bugs. This replaces that syntax with a jsexecute function that returns 0 only for NaN and leaves -0 unchanged.Draft because:
Test @ https://experiments.turbowarp.org/fix-negative-zero/