mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-22 10:07:12 +00:00
Update CompilerImprovements
parent
4e2bb0895f
commit
a7f09c091d
@ -7,19 +7,24 @@ performance over each release.
|
|||||||
- ```-O fast```
|
- ```-O fast```
|
||||||
- ```-O mem```???
|
- ```-O mem```???
|
||||||
|
|
||||||
1. lexer - Front end duplicate include elimination
|
1. Better auto tuning of jobs
|
||||||
- per block cache which files have already been included so they don't need to be processed multiple times
|
- -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)
|
1. file cache (memory for speed)
|
||||||
* Include parse caching
|
* Include parse caching
|
||||||
- cache include files post parsing so that they don't need to be re-parsed
|
- cache include files post parsing so that they don't need to be re-parsed
|
||||||
* generic file cache
|
* generic file cache
|
||||||
- cache files that have already been read so they don't need to be reread
|
- 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
|
1. aare -> pcre convertion
|
||||||
- add native parsing of aare to the background eliminating this step
|
- add native parsing of aare to the background eliminating this step
|
||||||
@ -58,6 +63,7 @@ performance over each release.
|
|||||||
- Requires dfa set operations
|
- Requires dfa set operations
|
||||||
|
|
||||||
1. threaded parallel compile
|
1. threaded parallel compile
|
||||||
|
- thread pool
|
||||||
- requires removal of global state
|
- requires removal of global state
|
||||||
- shared file caches
|
- shared file caches
|
||||||
- compile profile components in parallel (see partial compiles)
|
- compile profile components in parallel (see partial compiles)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user