## 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 5174002 436 420
## 2: 1 100011 1 1 0 5174003 53 0
## 3: 1 100011 1 1 0 5174234 19 32
## 4: 1 100011 1 1 0 5174097 19 27
## 5: 1 100011 1 1 0 5174262 19 26
## 6: 1 100011 1 1 0 5174037 10 27
## 7: 1 100011 1 1 0 5174258 8 32
## 8: 1 100011 1 1 0 5174033 17 20
## 9: 1 100011 1 1 0 5174022 9 22
## 10: 1 100011 1 1 0 5174274 11 30
## Filled Calculated2 Total
## 1: 52 31 939
## 2: 1 0 54
## 3: 0 3 54
## 4: 2 0 48
## 5: 0 3 48
## 6: 0 9 46
## 7: 0 6 46
## 8: 0 8 45
## 9: 12 0 43
## 10: 2 0 43
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 5174002 436 420
## 2: 1 100011 1 1 0 5174003 53 0
## 3: 1 100011 1 1 0 5174206 21 12
## 4: 1 100011 1 1 0 5174023 20 9
## 5: 1 100011 1 1 0 5174097 19 27
## 6: 1 100011 1 1 0 5174222 19 9
## 7: 1 100011 1 1 0 5174234 19 32
## 8: 1 100011 1 1 0 5174262 19 26
## 9: 1 100011 1 1 0 5174088 18 9
## 10: 1 100011 1 1 0 5174033 17 20
## Filled Calculated2 Total
## 1: 52 31 939
## 2: 1 0 54
## 3: 0 4 37
## 4: 2 0 31
## 5: 2 0 48
## 6: 0 12 40
## 7: 0 3 54
## 8: 0 3 48
## 9: 1 5 33
## 10: 0 8 45
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 5174002 436 420
## 2: 1 100011 1 1 0 5174234 19 32
## 3: 1 100011 1 1 0 5174258 8 32
## 4: 1 100011 1 1 0 5174291 8 32
## 5: 1 100011 1 1 0 5174061 8 31
## 6: 1 100011 1 1 0 5174274 11 30
## 7: 1 100011 1 1 0 5174047 7 28
## 8: 1 100011 1 1 0 5174037 10 27
## 9: 1 100011 1 1 0 5174097 19 27
## 10: 1 100011 1 1 0 5174262 19 26
## Filled Calculated2 Total
## 1: 52 31 939
## 2: 0 3 54
## 3: 0 6 46
## 4: 0 1 41
## 5: 0 0 39
## 6: 2 0 43
## 7: 0 0 35
## 8: 0 9 46
## 9: 2 0 48
## 10: 0 3 48
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 5174002 436 420
## 2: 1 100011 1 1 0 5174022 9 22
## 3: 1 100011 1 1 0 5174103 5 16
## 4: 1 100011 1 1 0 5174132 6 9
## 5: 1 100011 1 1 0 5174186 7 11
## 6: 1 100011 1 1 0 5174202 11 4
## 7: 1 100011 1 1 0 5174017 7 23
## 8: 1 100011 1 1 0 5174029 11 11
## 9: 1 100011 1 1 0 5174183 6 17
## 10: 1 100011 1 1 0 5174228 6 9
## Filled Calculated2 Total
## 1: 52 31 939
## 2: 12 0 43
## 3: 12 3 36
## 4: 9 2 26
## 5: 6 0 24
## 6: 6 0 21
## 7: 5 0 35
## 8: 5 0 27
## 9: 5 0 28
## 10: 5 0 20
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.3468905 0.4886324 0.0262423 0.1382348
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')