Commit 5654ec4
authored
Very nice performance improvements (#1096)
This commit can reduce warm compilation times by up to 80%, depending on the project. It makes Wurst future-proof for large projects and future language updates.
- Use uncompressed mpq storage because compression is a bottleneck for big maps with tons of imports
- Using uncompressed for runmap only, compressing on buildmap
- Better/Safer caching for compiletime results
- With `-noExtractMapScript` option the `war3map.j` no longer gets forcefully reparsed on every runmap command (it's already part of the model)
- Use iteration instead of recursion in places where StackOverflows happened
- Reduce a lot of string allocation garbage, which reduces GC churn
- Use SCC for worklist algorithm
- Remove TestNG suite usage, just run all tests. Fixed tests that didn't run. Added new tests
- Added RealRealMixed rewrites and tests
- Java 25 now required1 parent e96e226 commit 5654ec4
File tree
155 files changed
+6454
-3773
lines changed- .circleci
- .github/workflows
- de.peeeq.wurstscript
- META-INF
- gradle/wrapper
- parserspec
- src
- main/java/de/peeeq
- datastructures
- immutablecollections
- wurstio
- gui
- intermediateLang/interpreter
- jassinterpreter
- providers
- languageserver
- requests
- map/importer
- mpq
- utils
- wurstscript
- attributes
- names
- prettyPrint
- intermediatelang
- interpreter
- optimizer
- jassprinter
- jass
- jurst
- parser/antlr
- translation
- imoptimizer
- imtojass
- imtranslation
- lua/translation
- types
- utils
- validation
- controlflow
- test
- java/tests
- prettyprint
- utils
- wurstscript
- tests
- utils
- resources
- testscripts/pretty
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
155 files changed
+6454
-3773
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
This file was deleted.
0 commit comments