## 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')