This repository was archived by the owner on Dec 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
69 lines (56 loc) · 1.74 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import pystats2md
from pystats2md.stats_subset import *
from pystats2md.stats_file import *
from pystats2md.report import *
from pystats2md.micro_bench import *
from pystats2md.aggregation import *
f = StatsFile('example/benchmarks.json')
r = Report()
r.add('# Database performance')
r.add('This benchmark report was generated by [main.py](main.py).')
r.add(f.table(
rows='database_name',
cols='benchmark_name',
cells='operations_per_second',
))
r.add('## Lets add some colors!')
r.add(f.table(
rows='database_name',
cols='benchmark_name',
cells='operations_per_second',
).add_emoji(impressive_gain=1.5))
r.add('## Or a ranking?')
r.add(f.table(
rows='database_name',
cols='benchmark_name',
cells='operations_per_second',
).add_ranking(column='Upsert Entry'))
r.add('## Define a baseline and see the gains!')
r.add(StatsSubset(f).table(
row_name_property='database_name',
col_name_property='benchmark_name',
cell_content_property='operations_per_second',
row_names=['SQLite', 'MySQL', 'PostgreSQL', 'MongoDB'],
col_names=['Find Entry'],
).add_gains())
r.add('## Render charts with Plotly!')
r.add(f.plot(
title='DB Performance (Ops/Sec)',
variants='database_name',
groups='benchmark_name',
values='operations_per_second',
show_values=True,
))
r.add(StatsSubset(f).grouped(
*['database_name', 'benchmark_name'],
**{'operations_per_second': Aggregation.take_mean}
).table(
row_name_property='database_name',
col_name_property='benchmark_name',
cell_content_property='operations_per_second',
row_names=['SQLite', 'MySQL', 'PostgreSQL', 'MongoDB'],
).normalize_values().plot(
title='DB Performance (Normalized)',
show_values=False,
))
r.print_to('example/README.md')