Last change
on this file since 6f47834 was
08ed947,
checked in by Michael Brooks <mlbrooks@…>, 3 years ago
|
Roll up of string changes for performance testing/improvement, and a couple API features supporting them.
String API changes:
Defining a tuning knob to control the heap growth policy (relapaces former 10% hardcode, downgraded to a default)
Implementing findFrom (allowing find-non-first); leaving find as find-first.
String implementation perf improvements:
Calling C-malloc directly instead of via CFA-alloc.
Replacings loops that copy with memmove calls.
Replacings loops that search for a value with memchr calls.
String perf testing realized:
Makefile supporting several prog-*.cfa, chosen by OPERATION value (implies prog.cfa changes to support the adjusted protocol)
Adjusting the starter/accumulater declarations in PEQ and PTA to behave consistently in cfa v cpp.
Adding tests: allocation, find, normalize, pass-by-val, pass-by-x.
Adding helper shell scripts for: generating flame graphs, collecting/crunching allocation stats using Mubeen's malloc wrappers
|
-
Property mode set to
100755
|
File size:
772 bytes
|
Line | |
---|
1 | #!/bin/bash |
---|
2 | |
---|
3 | # $1 is SUT id : stl-pall-na-na-na |
---|
4 | # $2 is CLI middle : 1000 1.006 0.1 -w 10000000 |
---|
5 | # $3 is corpus id : -1-500-1 (goes with corpus-1-500-1.txt) |
---|
6 | # |
---|
7 | # usage for that example: ./make-flamegraph.sh cfa-pall-ll-share-na '1000 1.006 0.1 -w 10000000' -1-500-1 |
---|
8 | # |
---|
9 | # another |
---|
10 | # $3 is coprus id : x-100-20-1 (goes with corpusx-100-20-1.txt) |
---|
11 | |
---|
12 | SLUG=perf--$1--${2//[ .]/-}--$3 |
---|
13 | |
---|
14 | perf record --call-graph dwarf -m16M ~/plg2/cfa2/cfa-cc/tests/zombies/string-perf/perfexp-$1 $2 `cat ~/plg2/cfa2/cfa-cc/tests/zombies/string-perf/corpus$3.txt` |
---|
15 | |
---|
16 | mv perf.data $SLUG.data |
---|
17 | perf script -i $SLUG.data > $SLUG.perf |
---|
18 | ../flamegraph/FlameGraph/stackcollapse-perf.pl $SLUG.perf > $SLUG.folded |
---|
19 | ../flamegraph/FlameGraph/flamegraph.pl $SLUG.folded > $SLUG.svg |
---|
20 | cp $SLUG.svg ~/plg2/flames |
---|
Note: See
TracBrowser
for help on using the repository browser.