jak-project/decompiler/util
water111 395c98db19
[goalc] Cleaned up speedups (#3066)
Started at 349,880,038 allocations and 42s

- Switched to making `Symbol` in GOOS be a "fixed type", just a wrapper
around a `const char*` pointing to the string in the symbol table. This
is a step toward making a lot of things better, but by itself not a huge
improvement. Some things may be worse due to more temp `std::string`
allocations, but one day all these can be removed. On linux it saved
allocations (347,685,429), and saved a second or two (41 s).
- cache `#t` and `#f` in interpreter, better lookup for special
forms/builtins (hashtable of pointers instead of strings, vector for the
small special form list). Dropped time to 38s.
- special-case in quasiquote when splicing is the last thing in a list.
Allocation dropped to 340,603,082
- custom hash table for environment lookups (lexical vars). Dropped to
36s and 314,637,194
- less allocation in `read_list` 311,613,616. Time about the same.
- `let` and `let*` in Interpreter.cpp 191,988,083, time down to 28s.
2023-10-07 10:48:17 -04:00
..
config_parsers.cpp lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
config_parsers.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
data_decompile.cpp [goalc] Cleaned up speedups (#3066) 2023-10-07 10:48:17 -04:00
data_decompile.h [decompiler] new features + fixes, + other jak2 fixes (#2796) 2023-07-04 17:23:24 -04:00
DataParser.cpp offline-test: Partition by DGO and colorize/condense output (#2045) 2022-12-22 13:41:33 -05:00
DataParser.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
DecompilerTypeSystem.cpp [goalc] Cleaned up speedups (#3066) 2023-10-07 10:48:17 -04:00
DecompilerTypeSystem.h decompiler: better automatic detection of art groups and joint-node-index macro detection (#3061) 2023-10-06 16:42:16 +02:00
Error.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
goal_data_reader.cpp Save entities to JSON, and make custom level building a little faster (#2973) 2023-09-09 17:06:39 -04:00
goal_data_reader.h Save entities to JSON, and make custom level building a little faster (#2973) 2023-09-09 17:06:39 -04:00
MatchParam.h [Decompiler - New IR] Add AtomicOp (#181) 2021-01-06 20:04:15 -05:00
sparticle_decompile.cpp jak2: overlord rework (#2544) 2023-04-29 16:13:57 -04:00
sparticle_decompile.h Create a new format for particle definitions (defpart) (#2572) 2023-04-29 11:01:47 -04:00
StackSpillMap.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
TP_Type.cpp [decompiler] Handle find-parent-method (#3018) 2023-09-30 11:06:09 -04:00
TP_Type.h [decompiler] Handle find-parent-method (#3018) 2023-09-30 11:06:09 -04:00
type_utils.cpp d/jak2: get script decompiling, no ref tests yet (#1877) 2022-09-14 19:37:12 -04:00
type_utils.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00