mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-24 03:49:45 +00:00
0ce7569ee7
Add prog.Ref Type that serves as a proxy for real types and allows to deduplicate Types in generated descriptions. The Ref type is effectively an index in an array of types. Just before serialization pkg/compiler replaces real types with the Ref types and prepares corresponding array of real types. When a Target is registered in prog package, we do the opposite operation and replace Ref's with the corresponding real types. This brings improvements across the board: compiler memory consumption is reduced by 15%, test building time by 25%, descriptions size by 33%. Before: $ du -h sys/linux/gen 54M sys/linux/gen $ time GOMAXPROCS=1 go test -p=1 -c ./prog real 0m54.200s real 0m53.883s $ time GOMAXPROCS=1 go install -p=1 ./tools/syz-execprog real 0m27.911s real 0m27.767s $ TIME="%e %P %M" GOMAXPROCS=1 time go tool compile ./sys/linux/gen 20.59 100% 3200016 20.97 100% 3445976 20.25 100% 3209684 After: $ du -h sys/linux/gen 36M sys/linux/gen $ time GOMAXPROCS=1 go test -p=1 -c ./prog real 0m42.290s real 0m43.230s $ time GOMAXPROCS=1 go install -p=1 ./tools/syz-execprog real 0m24.337s real 0m24.727s $ TIME="%e %P %M" GOMAXPROCS=1 time go tool compile ./sys/linux/gen 19.11 100% 2764952 19.66 100% 2787624 19.35 100% 2749376 Update #1580 |
||
---|---|---|
.. | ||
android | ||
fops_probe | ||
kcovfuzzer | ||
kcovtrace | ||
syz-benchcmp | ||
syz-bisect | ||
syz-check | ||
syz-cover | ||
syz-crush | ||
syz-db | ||
syz-declextract | ||
syz-env | ||
syz-execprog | ||
syz-expand | ||
syz-fmt | ||
syz-headerparser | ||
syz-imagegen | ||
syz-mutate | ||
syz-prog2c | ||
syz-repro | ||
syz-reprolist | ||
syz-runtest | ||
syz-showprio | ||
syz-stress | ||
syz-symbolize | ||
syz-testbuild | ||
syz-trace2syz | ||
syz-tty | ||
syz-upgrade | ||
syz-usbgen | ||
check_links.py | ||
check-copyright.sh | ||
create-gce-image.sh | ||
create-image.sh | ||
create-openbsd-gce-ci.sh | ||
create-openbsd-vmm-worker.sh | ||
demo_setup.sh |