jak-project/goalc/compiler
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
..
compilation [goalc] speed up jak3 compilation (#3454) 2024-04-06 16:01:17 -04:00
docs LSP: A bunch of new OpenGOAL language features (#3437) 2024-03-30 19:49:07 -04:00
CodeGenerator.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
CodeGenerator.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00
Compiler.cpp LSP: A bunch of new OpenGOAL language features (#3437) 2024-03-30 19:49:07 -04:00
Compiler.h [goalc] speed up jak3 compilation (#3454) 2024-04-06 16:01:17 -04:00
CompilerException.h split new pc features in some files into their own code files + address some old issues + ripple graphics improvements (#2216) 2023-02-13 21:39:14 +00:00
CompilerSettings.cpp [goalc] Cleaned up speedups (#3066) 2023-10-07 10:48:17 -04:00
CompilerSettings.h [jak2] support for multiple out/ directories (#1585) 2022-06-30 21:11:58 -04:00
ConstantValue.h deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
Env.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
Env.h [goalc] Cleaned up speedups (#3066) 2023-10-07 10:48:17 -04:00
IR.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
IR.h [jak2] GOAL side texture animation stuff (#2766) 2023-06-24 10:11:47 -04:00
Label.h Add #pragma once to all headers 2020-09-13 21:36:35 -04:00
Lambda.h [goalc] Cleaned up speedups (#3066) 2023-10-07 10:48:17 -04:00
StaticObject.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
StaticObject.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
symbol_info.cpp [goalc] speed up jak3 compilation (#3454) 2024-04-06 16:01:17 -04:00
symbol_info.h Jak 3, fixes for animation issues, rm debug print (#3453) 2024-04-06 15:09:02 -04:00
Util.cpp [goalc] speed up jak3 compilation (#3454) 2024-04-06 16:01:17 -04:00
Val.cpp deps: update fmt to latest version (#3403) 2024-03-05 22:11:52 -05:00
Val.h [goalc] default to non-immediate lambdas if not requested (#2604) 2023-04-30 19:00:27 -04:00