## Loading required package: data.table
## Loading required package: ggplot2

Number of executed orders by account and ReqPerSec

table(d$Account, d$OPS_Req, d$TestNumber)
## , ,  = 1
## 
##         
##            1
##   100011 300
      print("Top longest execution")    
## [1] "Top longest execution"
      print(d[order(-Total)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5142104  42          34
##  2:          1  100011       1        1      0 5142107  33          21
##  3:          1  100011       1        1      0 5142292  12          41
##  4:          1  100011       1        1      0 5142051  49           7
##  5:          1  100011       1        1      0 5142036  20          42
##  6:          1  100011       1        1      0 5142047  11          39
##  7:          1  100011       1        1      0 5142165  37           5
##  8:          1  100011       1        1      0 5142132  10          36
##  9:          1  100011       1        1      0 5142245   7          36
## 10:          1  100011       1        1      0 5142181  16          28
##     Filled Calculated2 Total
##  1:      0           0    76
##  2:      0          19    73
##  3:      0          19    72
##  4:      8           0    64
##  5:      0           0    62
##  6:      2           3    55
##  7:      0          13    55
##  8:      0           5    51
##  9:      0           7    50
## 10:      0           5    49
      print("Worst New execution")    
## [1] "Worst New execution"
      print(d[order(-New)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5142051  49           7
##  2:          1  100011       1        1      0 5142104  42          34
##  3:          1  100011       1        1      0 5142165  37           5
##  4:          1  100011       1        1      0 5142004  34           0
##  5:          1  100011       1        1      0 5142107  33          21
##  6:          1  100011       1        1      0 5142083  31          11
##  7:          1  100011       1        1      0 5142229  26          21
##  8:          1  100011       1        1      0 5142006  20          15
##  9:          1  100011       1        1      0 5142036  20          42
## 10:          1  100011       1        1      0 5142069  19          24
##     Filled Calculated2 Total
##  1:      8           0    64
##  2:      0           0    76
##  3:      0          13    55
##  4:      0           0    34
##  5:      0          19    73
##  6:      0           2    44
##  7:      0           0    47
##  8:      0           6    41
##  9:      0           0    62
## 10:      0           4    47
      print("Worst Calculated1 execution")    
## [1] "Worst Calculated1 execution"
      print(d[order(-Calculated1)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5142036  20          42
##  2:          1  100011       1        1      0 5142292  12          41
##  3:          1  100011       1        1      0 5142047  11          39
##  4:          1  100011       1        1      0 5142132  10          36
##  5:          1  100011       1        1      0 5142245   7          36
##  6:          1  100011       1        1      0 5142104  42          34
##  7:          1  100011       1        1      0 5142122  10          30
##  8:          1  100011       1        1      0 5142027  12          28
##  9:          1  100011       1        1      0 5142062  16          28
## 10:          1  100011       1        1      0 5142181  16          28
##     Filled Calculated2 Total
##  1:      0           0    62
##  2:      0          19    72
##  3:      2           3    55
##  4:      0           5    51
##  5:      0           7    50
##  6:      0           0    76
##  7:      4           3    47
##  8:      0           4    44
##  9:      0           0    44
## 10:      0           5    49
      print("Worst Filled execution")    
## [1] "Worst Filled execution"
      print(d[order(-Filled)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5142260   6           8
##  2:          1  100011       1        1      0 5142256   7          11
##  3:          1  100011       1        1      0 5142051  49           7
##  4:          1  100011       1        1      0 5142075   6          12
##  5:          1  100011       1        1      0 5142149   5           6
##  6:          1  100011       1        1      0 5142208  11          17
##  7:          1  100011       1        1      0 5142241   5           7
##  8:          1  100011       1        1      0 5142259   4           6
##  9:          1  100011       1        1      0 5142300  11          11
## 10:          1  100011       1        1      0 5142164   4           7
##     Filled Calculated2 Total
##  1:     11           0    25
##  2:      9           0    27
##  3:      8           0    64
##  4:      7           2    27
##  5:      6           2    19
##  6:      6           0    34
##  7:      6           0    18
##  8:      6           2    18
##  9:      6           0    28
## 10:      5           2    18
      print("Proprtion delay for each execution staqge")
## [1] "Proprtion delay for each execution staqge"
      print ( apply( apply(d[,7:10, with=F], 1, prop.table), 1, mean) )
##         New Calculated1      Filled Calculated2 
##  0.36222405  0.48569707  0.02288562  0.12919326

Summary execution time ~ requested orders per second

d[,OPS_Req:=OPS_Req * TestNumber]
d[,OPS_Mean:=OPS_Mean * TestNumber]

si<-rbind( tapply(d$Total, d$OPS_Req, length), 
           tapply(d$Total, d$OPS_Req, min),
           tapply(d$Total, d$OPS_Req, mean), 
           tapply(d$Total, d$OPS_Req, median), 
           tapply(d$Total, d$OPS_Req, max), 
           tapply(d$Total, d$OPS_Req, sd))
rownames(si)<-c("length", "min", "mean", "median", "max", "sd")
si<-round(t(si))
ggplot(melt(si), aes(Var1, value)) + geom_point() + facet_grid(Var2 ~ ., scales = "free") + xlab("Requested Orders Per Second")

Scaling

ggplot( d, aes(x=OPS_Req, y=OPS_Mean)) + geom_line() + geom_abline(intercept = 0, slope = 1,  size=2, color='red')