Skip to content

Commit 0b0d4c8

Browse files
committed
fix bench scripts
1 parent 22fe34c commit 0b0d4c8

File tree

7 files changed

+95
-28
lines changed

7 files changed

+95
-28
lines changed

scripts/bench_drawer.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env python
1+
#!/usr/bin/env python3
22
"""Script to visualize google-benchmark output"""
33
from __future__ import print_function
44
import argparse
@@ -62,6 +62,13 @@ def parse_args():
6262
return args
6363

6464

65+
def parse_input_size(name):
66+
splits = name.split('/')
67+
if len(splits) == 1:
68+
return 1
69+
return int(splits[1])
70+
71+
6572
def read_data(args):
6673
"""Read and process dataframe using commandline args"""
6774
try:
@@ -71,15 +78,15 @@ def read_data(args):
7178
logging.error(msg)
7279
exit(1)
7380
data['label'] = data['name'].apply(lambda x: x.split('/')[0])
74-
data['input'] = data['name'].apply(lambda x: int(x.split('/')[1]))
81+
data['input'] = data['name'].apply(parse_input_size)
7582
data[args.metric] = data[args.metric].apply(TRANSFORMS[args.transform])
7683
return data
7784

7885

7986
def plot_groups(label_groups, args):
8087
"""Display the processed data"""
8188
for label, group in label_groups.items():
82-
plt.plot(group['input'], group[args.metric], label=label)
89+
plt.plot(group['input'], group[args.metric], label=label, marker='.')
8390
if args.logx:
8491
plt.xscale('log')
8592
if args.logy:
@@ -101,7 +108,7 @@ def main():
101108
if args.relative_to is not None:
102109
try:
103110
baseline = label_groups[args.relative_to][args.metric].copy()
104-
except KeyError, key:
111+
except KeyError as key:
105112
msg = 'Key %s is not present in the benchmark output'
106113
logging.error(msg, str(key))
107114
exit(1)

scripts/bench_map_foreach.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
#!/bin/bash
22
set -e
3+
DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"
34

4-
BUILD_DIR=`dirname "$BASH_SOURCE"`/../build/release
5-
cd $BUILD_DIR
5+
ROOT_DIR="${DIR}/.."
6+
BUILD_DIR="${ROOT_DIR}/build/unbench"
67

7-
./unbench/flat.hpp.unbench --benchmark_filter=_map_foreach --benchmark_format=csv > benchmark_map_foreach.csv
8-
../../scripts/bench_drawer.py -f benchmark_map_foreach.csv
8+
mkdir -p "${BUILD_DIR}"
9+
(cd "${BUILD_DIR}" && cmake "${ROOT_DIR}" -DCMAKE_BUILD_TYPE=Release\
10+
-DBUILD_WITH_UNBENCH=ON\
11+
-DBUILD_WITH_UNTESTS=OFF)
12+
(cd "${BUILD_DIR}" && cmake --build .)
13+
14+
(cd "${BUILD_DIR}" && ./unbench/flat.hpp.unbench\
15+
--benchmark_filter=_map_foreach\
16+
--benchmark_format=csv > benchmark_map_foreach.csv)
17+
18+
(cd "${BUILD_DIR}" && "${ROOT_DIR}/scripts/bench_drawer.py" -f benchmark_map_foreach.csv)

scripts/bench_map_insert.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
#!/bin/bash
22
set -e
3+
DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"
34

4-
BUILD_DIR=`dirname "$BASH_SOURCE"`/../build/release
5-
cd $BUILD_DIR
5+
ROOT_DIR="${DIR}/.."
6+
BUILD_DIR="${ROOT_DIR}/build/unbench"
67

7-
./unbench/flat.hpp.unbench --benchmark_filter=_map_insert --benchmark_format=csv > benchmark_map_insert.csv
8-
../../scripts/bench_drawer.py -f benchmark_map_insert.csv
8+
mkdir -p "${BUILD_DIR}"
9+
(cd "${BUILD_DIR}" && cmake "${ROOT_DIR}" -DCMAKE_BUILD_TYPE=Release\
10+
-DBUILD_WITH_UNBENCH=ON\
11+
-DBUILD_WITH_UNTESTS=OFF)
12+
(cd "${BUILD_DIR}" && cmake --build .)
13+
14+
(cd "${BUILD_DIR}" && ./unbench/flat.hpp.unbench\
15+
--benchmark_filter=_map_insert\
16+
--benchmark_format=csv > benchmark_map_insert.csv)
17+
18+
(cd "${BUILD_DIR}" && "${ROOT_DIR}/scripts/bench_drawer.py" -f benchmark_map_insert.csv)

scripts/bench_map_lookup.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
#!/bin/bash
22
set -e
3+
DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"
34

4-
BUILD_DIR=`dirname "$BASH_SOURCE"`/../build/release
5-
cd $BUILD_DIR
5+
ROOT_DIR="${DIR}/.."
6+
BUILD_DIR="${ROOT_DIR}/build/unbench"
67

7-
./unbench/flat.hpp.unbench --benchmark_filter=_map_lookup --benchmark_format=csv > benchmark_map_lookup.csv
8-
../../scripts/bench_drawer.py -f benchmark_map_lookup.csv
8+
mkdir -p "${BUILD_DIR}"
9+
(cd "${BUILD_DIR}" && cmake "${ROOT_DIR}" -DCMAKE_BUILD_TYPE=Release\
10+
-DBUILD_WITH_UNBENCH=ON\
11+
-DBUILD_WITH_UNTESTS=OFF)
12+
(cd "${BUILD_DIR}" && cmake --build .)
13+
14+
(cd "${BUILD_DIR}" && ./unbench/flat.hpp.unbench\
15+
--benchmark_filter=_map_lookup\
16+
--benchmark_format=csv > benchmark_map_lookup.csv)
17+
18+
(cd "${BUILD_DIR}" && "${ROOT_DIR}/scripts/bench_drawer.py" -f benchmark_map_lookup.csv)

scripts/bench_set_foreach.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
#!/bin/bash
22
set -e
3+
DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"
34

4-
BUILD_DIR=`dirname "$BASH_SOURCE"`/../build/release
5-
cd $BUILD_DIR
5+
ROOT_DIR="${DIR}/.."
6+
BUILD_DIR="${ROOT_DIR}/build/unbench"
67

7-
./unbench/flat.hpp.unbench --benchmark_filter=_set_foreach --benchmark_format=csv > benchmark_set_foreach.csv
8-
../../scripts/bench_drawer.py -f benchmark_set_foreach.csv
8+
mkdir -p "${BUILD_DIR}"
9+
(cd "${BUILD_DIR}" && cmake "${ROOT_DIR}" -DCMAKE_BUILD_TYPE=Release\
10+
-DBUILD_WITH_UNBENCH=ON\
11+
-DBUILD_WITH_UNTESTS=OFF)
12+
(cd "${BUILD_DIR}" && cmake --build .)
13+
14+
(cd "${BUILD_DIR}" && ./unbench/flat.hpp.unbench\
15+
--benchmark_filter=_set_foreach\
16+
--benchmark_format=csv > benchmark_set_foreach.csv)
17+
18+
(cd "${BUILD_DIR}" && "${ROOT_DIR}/scripts/bench_drawer.py" -f benchmark_set_foreach.csv)

scripts/bench_set_insert.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
#!/bin/bash
22
set -e
3+
DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"
34

4-
BUILD_DIR=`dirname "$BASH_SOURCE"`/../build/release
5-
cd $BUILD_DIR
5+
ROOT_DIR="${DIR}/.."
6+
BUILD_DIR="${ROOT_DIR}/build/unbench"
67

7-
./unbench/flat.hpp.unbench --benchmark_filter=_set_insert --benchmark_format=csv > benchmark_set_insert.csv
8-
../../scripts/bench_drawer.py -f benchmark_set_insert.csv
8+
mkdir -p "${BUILD_DIR}"
9+
(cd "${BUILD_DIR}" && cmake "${ROOT_DIR}" -DCMAKE_BUILD_TYPE=Release\
10+
-DBUILD_WITH_UNBENCH=ON\
11+
-DBUILD_WITH_UNTESTS=OFF)
12+
(cd "${BUILD_DIR}" && cmake --build .)
13+
14+
(cd "${BUILD_DIR}" && ./unbench/flat.hpp.unbench\
15+
--benchmark_filter=_set_insert\
16+
--benchmark_format=csv > benchmark_set_insert.csv)
17+
18+
(cd "${BUILD_DIR}" && "${ROOT_DIR}/scripts/bench_drawer.py" -f benchmark_set_insert.csv)

scripts/bench_set_lookup.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
#!/bin/bash
22
set -e
3+
DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"
34

4-
BUILD_DIR=`dirname "$BASH_SOURCE"`/../build/release
5-
cd $BUILD_DIR
5+
ROOT_DIR="${DIR}/.."
6+
BUILD_DIR="${ROOT_DIR}/build/unbench"
67

7-
./unbench/flat.hpp.unbench --benchmark_filter=_set_lookup --benchmark_format=csv > benchmark_set_lookup.csv
8-
../../scripts/bench_drawer.py -f benchmark_set_lookup.csv
8+
mkdir -p "${BUILD_DIR}"
9+
(cd "${BUILD_DIR}" && cmake "${ROOT_DIR}" -DCMAKE_BUILD_TYPE=Release\
10+
-DBUILD_WITH_UNBENCH=ON\
11+
-DBUILD_WITH_UNTESTS=OFF)
12+
(cd "${BUILD_DIR}" && cmake --build .)
13+
14+
(cd "${BUILD_DIR}" && ./unbench/flat.hpp.unbench\
15+
--benchmark_filter=_set_lookup\
16+
--benchmark_format=csv > benchmark_set_lookup.csv)
17+
18+
(cd "${BUILD_DIR}" && "${ROOT_DIR}/scripts/bench_drawer.py" -f benchmark_set_lookup.csv)

0 commit comments

Comments
 (0)