Update CompilerImprovements

John Johansen 2023-08-30 19:51:04 +00:00
parent 4e2bb0895f
commit a7f09c091d

@ -7,19 +7,24 @@ performance over each release.
- ```-O fast```
- ```-O mem```???
1. lexer - Front end duplicate include elimination
- per block cache which files have already been included so they don't need to be processed multiple times
1. Better auto tuning of jobs
- -j0 really small systems
- small system
- large system
1. User side compression
- means compress once in userspace for cache
- kernel only has to unpack, and store compressed instead of doing compression
- better compression if done in userspace (less mem)
1. file cache (memory for speed)
* Include parse caching
- cache include files post parsing so that they don't need to be re-parsed
* generic file cache
- cache files that have already been read so they don't need to be reread
- requires multiple profiles be processed by one compiler call to be effective (especially if duplicate include elimination is in effect)
- requires multiple profiles be processed by one compiler call to be effective
- use mmap when possible
1. Rule duplicate removal (only done on files)
- almost unneeded if fix for 1 is done
- requires: to full replace (so code can be dropped) need 1 and 4
1. aare -> pcre convertion
- add native parsing of aare to the background eliminating this step
@ -58,6 +63,7 @@ performance over each release.
- Requires dfa set operations
1. threaded parallel compile
- thread pool
- requires removal of global state
- shared file caches
- compile profile components in parallel (see partial compiles)