SpacemanDMM icon indicating copy to clipboard operation
SpacemanDMM copied to clipboard

Should not sleep Fixes

Open Cyberboss opened this issue 1 year ago • 7 comments

Fixes #355

Also splits SHOULD_NOT_SLEEP and SHOULD_BE_PURE tests and adds a minor improvement to the test helpers in that it shows more info where it wouldn't when panicing

Cyberboss avatar May 06 '23 19:05 Cyberboss

As it stands, this is still too slow and uses way too much memory. More improvements incoming.

Cyberboss avatar May 07 '23 14:05 Cyberboss

Okay @SpaceManiac This is latest on /tg/. The 7228 is the number of procs infected with SHOULD_NOT_SLEEP to begin with. Each print-out represents 10s of work.

7228 procs to anaylze call chains for
serialized objtree in 1.718s
11/7228 procs anaylzed
165/7228 procs anaylzed
449/7228 procs anaylzed
818/7228 procs anaylzed
1273/7228 procs anaylzed
1775/7228 procs anaylzed
2250/7228 procs anaylzed
2792/7228 procs anaylzed
3313/7228 procs anaylzed
3840/7228 procs anaylzed
4339/7228 procs anaylzed
4800/7228 procs anaylzed
5349/7228 procs anaylzed
6045/7228 procs anaylzed
6610/7228 procs anaylzed
7109/7228 procs anaylzed
dreamchecker 181.200s - total 192.546s

At this point the only optimization I can think of is to NEVER revisit procs (currently procs that don't have a sleep somewhere in their calls can get revisited) It would result in a slightly incomplete error set but it might be worth it.

Cyberboss avatar May 07 '23 15:05 Cyberboss

I'm going to go ahead and do that

Cyberboss avatar May 07 '23 16:05 Cyberboss

Back under 5s. It no longer prints out transitive errors but the time save is worth it.

Cyberboss avatar May 07 '23 16:05 Cyberboss

There's a bug where the checking in /New() is too aggressive (We KNOW the type at that point and shouldn't be checking overrides).

Cyberboss avatar May 07 '23 19:05 Cyberboss

/tg/ circa now dreamchecker 2.882s - total 18.013s ~136 errors

Cyberboss avatar May 07 '23 20:05 Cyberboss

If anyone wants to take over this PR. It's basically done, except you need to get the commented out test from the above commit working

Cyberboss avatar Apr 26 '24 00:04 Cyberboss