jak-project/common/goos
water111 cc8801a27b
[goalc] speed up jak3 compilation (#3454)
I noticed that jak 3's compilation was spending a lot of time accessing
the `unordered_map`s we use to store constants and symbol types.

 
I repurposed the `EnvironmentMap` originally made for GOOS for this. It
turns out that we were copying the entire constant map whenever we
encountered a `deftype`, and fixed that too.

This speeds up jak3 compiles from ~16 to 11 seconds for me.
2024-04-06 16:01:17 -04:00
..
Interpreter.cpp [goalc] speed up jak3 compilation (#3454) 2024-04-06 16:01:17 -04:00
Interpreter.h [goalc] Cleaned up speedups (#3066) 2023-10-07 10:48:17 -04:00
Object.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
Object.h [goalc] speed up jak3 compilation (#3454) 2024-04-06 16:01:17 -04:00
ParseHelpers.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
ParseHelpers.h [jak 2] Fix possible stereo desync in overlord (#2663) 2023-05-19 21:17:11 -04:00
PrettyPrinter.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
PrettyPrinter.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
PrettyPrinter2.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
PrettyPrinter2.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
Printer.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
Printer.h d/jak2: mostly finish mysql-nav-graph and fix docstring handling around with-pp/local-vars (#1869) 2022-09-13 18:15:02 -04:00
Reader.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
Reader.h goalc/repl: cleanup of goalc/REPL code and some QoL improvements (#2104) 2023-01-07 11:24:02 -05:00
TextDB.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
TextDB.h tests: add jak3 typeconsistency test and ensure offline tests are working (#3310) 2024-01-16 00:15:33 -05:00