HaxeFoundation / haxe

Haxe - The Cross-Platform Toolkit
https://haxe.org
6.03k stars 648 forks source link

[hxb] Ignore invalidations during display requests #11660

Closed kLabz closed 1 month ago

kLabz commented 1 month ago

I tested this branch with all projects I had available, without detecting any issue (at least not any new issue) and got very promising results (see below).

Notes:

[Shiro project]

[Shiro project]

[Shiro project]

[Personal heaps game] (very similar results on other small[ish] scale projects)

Other "small scale" projects

Smaller projects that tend to have no issues with Haxe 4 and are running diagnostics still have much faster display requests when cache has just been filled (after compilation or diagnostics), though even those can have slightly better timings (with diagnostics disabled at least) when files start to be invalidated.

Misc

kLabz commented 1 month ago

Nice, this check works :)

image

Edit: and after setting development as base branch: image

:ok_hand:

Simn commented 1 month ago

This is neat, it's nice that we can do something like that now. Having a two-layer cache like this makes sense to me because we separate the properly cached data from the working data, which should also give a good memory layout for the GC.

I'll have to review the server.ml changes more in-depth because at the very least they duplicate some code.

Also I find reset to be a misleading name for something that merely clears the temp cache.

kLabz commented 1 month ago

Yeah, that's something I wanted to do pretty much since the beginning but wasn't working well on previous attempts, needed that separate "working data".

Right, I cleaned up a bit, hope it's better like that!