Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • benchmark/plot.py

    r76f5e9f r3b5dcfa  
    2222
    2323class Field:
    24         def __init__(self, unit, _min, _log, _name=None):
     24        def __init__(self, unit, _min, _log):
    2525                self.unit = unit
    2626                self.min  = _min
    2727                self.log  = _log
    28                 self.name = _name
    2928
    3029field_names = {
     
    3332        "Ops per procs"         : Field('Ops'   , 0, False),
    3433        "Ops per threads"       : Field('Ops'   , 0, False),
    35         "ns per ops/procs"      : Field(''    , 0, False, _name = "Latency (ns $/$ (Processor $\\times$ Operation))" ),
     34        "ns per ops/procs"      : Field('ns'    , 0, False),
    3635        "Number of threads"     : Field(''      , 1, False),
    3736        "Total Operations(ops)" : Field('Ops'   , 0, False),
    3837        "Ops/sec/procs"         : Field('Ops'   , 0, False),
    3938        "Total blocks"          : Field('Blocks', 0, False),
    40         "Ops per second"        : Field(''   , 0, False),
     39        "Ops per second"        : Field('Ops'   , 0, False),
    4140        "Cycle size (# thrds)"  : Field('thrd'  , 1, False),
    4241        "Duration (ms)"         : Field('ms'    , 0, False),
     
    5251}
    5352
    54 def plot(in_data, x, y, options):
     53def plot(in_data, x, y, out):
    5554        fig, ax = plt.subplots()
    5655        colors = itertools.cycle(['#0095e3','#006cb4','#69df00','#0aa000','#fb0300','#e30002','#fd8f00','#ff7f00','#8f00d6','#4b009a','#ffff00','#b13f00'])
     
    110109        print("Finishing Plots")
    111110
    112         plt.ylabel(field_names[y].name if field_names[y].name else y)
     111        plt.ylabel(y)
    113112        # plt.xticks(range(1, math.ceil(mx) + 1))
    114         plt.xlabel(field_names[x].name if field_names[x].name else x)
     113        plt.xlabel(x)
    115114        plt.grid(b = True)
    116115        ax.xaxis.set_major_formatter( EngFormatter(unit=field_names[x].unit) )
    117         if options.logx:
    118                 ax.set_xscale('log')
    119         elif field_names[x].log:
     116        if field_names[x].log:
    120117                ax.set_xscale('log')
    121118        else:
     
    123120
    124121        ax.yaxis.set_major_formatter( EngFormatter(unit=field_names[y].unit) )
    125         if options.logy:
    126                 ax.set_yscale('log')
    127         elif field_names[y].log:
     122        if field_names[y].log:
    128123                ax.set_yscale('log')
    129124        else:
    130                 plt.ylim(field_names[y].min, options.MaxY if options.MaxY else my*1.2)
     125                plt.ylim(field_names[y].min, my*1.2)
    131126
    132127        plt.legend(loc='upper left')
    133128
    134129        print("Results Ready")
    135         if options.out:
    136                 plt.savefig(options.out, bbox_inches='tight')
     130        if out:
     131                plt.savefig(out)
    137132        else:
    138133                plt.show()
     
    147142        parser.add_argument('-y', nargs='?', type=str, default="", help="Which field to use as the Y axis")
    148143        parser.add_argument('-x', nargs='?', type=str, default="", help="Which field to use as the X axis")
    149         parser.add_argument('--logx', action='store_true', help="if set, makes the x-axis logscale")
    150         parser.add_argument('--logy', action='store_true', help="if set, makes the y-axis logscale")
    151         parser.add_argument('--MaxY', nargs='?', type=int, help="maximum value of the y-axis")
    152144
    153145        options =  parser.parse_args()
     
    193185
    194186
    195         plot(data, wantx, wanty, options)
     187        plot(data, wantx, wanty, options.out)
Note: See TracChangeset for help on using the changeset viewer.