performance doc enhancements
MODIFY
docs/perf_tips.txt
docs/perf_tips.txt
@@ -50,6 +50,9 @@ Even if you don't have a lightweight harness for a particular target, remember
that you can always use another, related library to generate a corpus that will
be then manually fed to a more resource-hungry program later on.
+Also note that reading the fuzzing input via stdin is faster than reading from
+a file.
+
3) Use LLVM instrumentation
---------------------------
@@ -161,6 +164,11 @@ and not waste CPU time.
There are several OS-level factors that may affect fuzzing speed:
+ - If you have no risk of power loss then run your fuzzing on a tmpfs
+ partition. This increases the performance noticably.
+ Alternatively you can use AFL_TMPDIR to point to a tmpfs location to
+ just write the input file to a tmpfs.
+
- High system load. Use idle machines where possible. Kill any non-essential
CPU hogs (idle browser windows, media players, complex screensavers, etc).

MODIFY
test/test-performance.sh
test/test-performance.sh
#!/bin/bash
-FILE=~/.afl_performance
+# if you want a specific performance file (e.g. to compare features to another)
+# you can set the AFL_PERFORMANCE_FILE environment variable:
+FILE=$AFL_PERFORMANCE_FILE
+# otherwise we use ~/.afl_performance
+test -z "$FILE" && FILE=~/.afl_performance
test -e $FILE || {
echo Warning: This script measure the performance of afl++ and saves the result for future comparisons into $FILE
@@ -17,6 +21,7 @@ unset AFL_USE_ASAN
unset AFL_USE_MSAN
unset AFL_CC
unset AFL_PRELOAD
+unset AFL_GCC_WHITELIST
unset AFL_LLVM_WHITELIST
unset AFL_LLVM_INSTRIM
unset AFL_LLVM_LAF_SPLIT_SWITCHES

MODIFY
test/test.sh
test/test.sh
@@ -33,6 +33,7 @@ unset AFL_USE_ASAN
unset AFL_USE_MSAN
unset AFL_CC
unset AFL_PRELOAD
+unset AFL_GCC_WHITELIST
unset AFL_LLVM_WHITELIST
unset AFL_LLVM_INSTRIM
unset AFL_LLVM_LAF_SPLIT_SWITCHES

performance doc enhancements