# Read thesis-append-pbv.csv
# Output for string-graph-peq-sharing.dat

# Project details
# Filter operation=peq
# Split "series" goups of sut; only those in the "pretty" list
# Assert one row per string-length
# output:
# string-len op-duration
# in chunks, each headed by pertty(sut)

import pandas as pd
import numpy as np
import os
import sys

sys.path.insert(0, os.path.dirname(__file__))
from common import *

prettyFieldNames = {
    "cfa-ll-share-na": "{/Helvetica=15 C{/Symbol \\42}} share",
    "stl-na-na-na": "STL",
}

timings = loadParseTimingData('result-append-pbv.csv')


# Filter operation=pbv, corpus=100-*-*+*+t0

timings = timings.groupby('operation').get_group('pbv')
timings = timings.groupby('corpus-nstrs-tgt').get_group(100)
timings = timings.groupby('corpus-offset-instr').get_group('t0')


# Emit in groups

groupedSut = timings.groupby('sut')

for sut, sgroup in groupedSut:

    if sut in prettyFieldNames:

        sgroup_sorted = sgroup.sort_values(by='corpusMeanLenCharsAct')

        print('"{header}"'.format(header=prettyFieldNames[sut]))
        text = sgroup_sorted[['corpusMeanLenCharsAct', 'op-duration-ns']].to_csv(header=False, index=False, sep='\t')
        print(text)
        print()
