jak-project/goalc/compiler
Tyler Wilding 0a15ac1669
goalc: Fix new symbol trie's performance inefficiencies (#3443)
I believe this brings things back in line to where it was before:
Here are the first handful of files before the changes:
```
0.014 | gcommon.gc
0.006 | gkernel-h.gc
0.025 | gkernel.gc
0.002 | pskernel.gc
0.01 | gstring.gc
0.004 | gstate.gc
0.001 | kernel.gd
0.001 | types-h.gc
0.002 | vu1-macros.gc
0.003 | math.gc
0.01 | vector-h.gc
0.001 | gravity-h.gc
0.001 | bounding-box-h.gc
0.001 | matrix-h.gc
0.001 | quaternion-h.gc
0.001 | euler-h.gc
```
> first compile
```
0.161 | gcommon.gc
0.126 | gkernel-h.gc
0.174 | gkernel.gc
0.046 | pskernel.gc
0.08 | gstring.gc
0.048 | gstate.gc
0.001 | kernel.gd
0.052 | types-h.gc
0.009 | vu1-macros.gc
0.059 | math.gc
0.228 | vector-h.gc
0.026 | gravity-h.gc
0.006 | bounding-box-h.gc
0.002 | matrix-h.gc
0.028 | quaternion-h.gc
0.026 | euler-h.gc
```
> make a change in gcommon and recompile

With the changes:
```
0.015 | gcommon.gc
0.018 | gkernel-h.gc
0.039 | gkernel.gc
0.006 | pskernel.gc
0.015 | gstring.gc
0.009 | gstate.gc
0.005 | kernel.gd
0.006 | types-h.gc
0.006 | vu1-macros.gc
0.008 | math.gc
0.017 | vector-h.gc
0.004 | gravity-h.gc
0.004 | bounding-box-h.gc
0.005 | matrix-h.gc
0.005 | quaternion-h.gc
0.003 | euler-h.gc
```
> First compile, no difference expected

```
0.016 | gcommon.gc
0.008 | gkernel-h.gc
0.023 | gkernel.gc
0.002 | pskernel.gc
0.01 | gstring.gc
0.043 | gstate.gc
0.001 | kernel.gd
0.002 | types-h.gc
0.002 | vu1-macros.gc
0.003 | math.gc
0.013 | vector-h.gc
0.001 | gravity-h.gc
0.002 | bounding-box-h.gc
0.002 | matrix-h.gc
0.001 | quaternion-h.gc
0.001 | euler-h.gc
```
> Compile times seem to be back within margin of error -- some are
faster than the first compilation time.
2024-04-01 18:56:55 -04:00
..
compilation goalc: Fix new symbol trie's performance inefficiencies (#3443) 2024-04-01 18:56:55 -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: Fix new symbol trie's performance inefficiencies (#3443) 2024-04-01 18:56:55 -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: Fix new symbol trie's performance inefficiencies (#3443) 2024-04-01 18:56:55 -04:00
symbol_info.h goalc: Fix new symbol trie's performance inefficiencies (#3443) 2024-04-01 18:56:55 -04:00
Util.cpp Fix cases of string formatting with non string literals (#3304) 2024-01-14 12:02:08 +00: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