@@ -218,8 +218,20 @@ def plot_evaluation_latency(path, variant):
218
218
fig , ax = plt .subplots (1 ,1 ,figsize = (6 ,4 ))
219
219
reads = data [data ['op' ] == 'r' ]
220
220
writes = data [data ['op' ] == 'w' ]
221
- ax .scatter (reads ['size' ], reads ['latency_ns' ], marker = 'x' , label = "read" )
222
- ax .scatter (writes ['size' ], writes ['latency_ns' ], marker = '.' , label = "write" )
221
+ if len (reads ) > 0 :
222
+ ax .scatter (reads ['size' ], reads ['latency_ns' ], marker = 'x' , label = "read" )
223
+ size = reads ['size' ].to_numpy ()
224
+ latency = reads ['latency_ns' ].to_numpy ()
225
+ p = np .polynomial .Polynomial .fit (size , latency , 1 )
226
+ size .sort ()
227
+ ax .plot (size , p (size ), linestyle = ':' , label = 'read trend' , color = 'black' )
228
+ if len (writes ) > 0 :
229
+ ax .scatter (writes ['size' ], writes ['latency_ns' ], marker = '.' , label = "write" )
230
+ size = writes ['size' ].to_numpy ()
231
+ latency = writes ['latency_ns' ].to_numpy ()
232
+ p = np .polynomial .Polynomial .fit (size , latency , 1 )
233
+ size .sort ()
234
+ ax .plot (size , p (size ), linestyle = '-.' , label = 'write trend' , color = 'black' )
223
235
xticks = np .arange (0 , 12 * 1024 * 1024 + 1 , 2 * 1024 * 1024 )
224
236
ax .set_xticks (xticks , [int (x / 1024 ) for x in xticks ])
225
237
ax .set_xlabel ("Size in KiB" )
0 commit comments