source: doc/theses/mike_brooks_MMath/plots/string-pta-sharing.py@ a17f496

Last change on this file since a17f496 was e0350e0, checked in by Michael Brooks <mlbrooks@…>, 4 months ago

Recent rework of string benchmarks

  • Property mode set to 100644
File size: 1.6 KB
Line 
1# Read thesis-append-pbv.csv
2# Output for string-graph-pta-sharing.dat
3
4# Project details
5# Filter operation=peq
6# Split "series" goups of sut; only those in the "pretty" list
7# Assert one row per string-length
8# output:
9# string-len op-duration
10# in chunks, each headed by pertty(sut)
11
12import pandas as pd
13import numpy as np
14import os
15import sys
16
17sys.path.insert(0, os.path.dirname(__file__))
18from common import *
19
20prettyFieldNames = {
21 "peq": {
22 "cfa-ll-share-fresh": "{/Helvetica=15 C{/Symbol \\42} x += y} share fresh",
23 "stl-na-na-fresh": "STL {/Helvetica=15 x += y} fresh",
24 },
25 "pta": {
26 "cfa-ll-share-fresh": "{/Helvetica=15 C{/Symbol \\42} x = x + y} share fresh",
27 "stl-na-na-fresh": "STL {/Helvetica=15 x = x + y} fresh",
28 }
29}
30
31timings = loadParseTimingData('result-append-pbv.csv')
32
33
34# Filter corpus=100-*-1, corpus=100-*-*+*+t0
35
36timings = timings.groupby('corpus-nstrs-tgt').get_group(100)
37timings = timings.groupby('corpus-offset-instr').get_group('t0')
38
39# Emit in groups
40
41groupedSut = timings.groupby('sut')
42
43for sut, sgroup in groupedSut:
44 groupedOp = sgroup.groupby('operation')
45 for op,opPretty in prettyFieldNames.items():
46
47 if op in groupedOp.groups:
48 tgtOpTimings = groupedOp.get_group(op)
49
50 if sut in opPretty:
51
52 sgroup_sorted = tgtOpTimings.sort_values(by='corpusMeanLenCharsAct')
53
54 print('"{header}"'.format(header=opPretty[sut]))
55 text = sgroup_sorted[['corpusMeanLenCharsAct', 'op-duration-ns']].to_csv(header=False, index=False, sep='\t')
56 print(text)
57 print()
Note: See TracBrowser for help on using the repository browser.