## 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 5142304 26 10
## 2: 1 100011 1 1 0 5142530 11 21
## 3: 1 100011 1 1 0 5142388 17 15
## 4: 1 100011 1 1 0 5142509 15 15
## 5: 1 100011 1 1 0 5142385 12 17
## 6: 1 100011 1 1 0 5142480 12 19
## 7: 1 100011 1 1 0 5142527 8 8
## 8: 1 100011 1 1 0 5142372 5 22
## 9: 1 100011 1 1 0 5142511 10 19
## 10: 1 100011 1 1 0 5142548 7 13
## Filled Calculated2 Total
## 1: 0 2 38
## 2: 0 3 35
## 3: 0 2 34
## 4: 0 4 34
## 5: 0 4 33
## 6: 0 2 33
## 7: 0 16 32
## 8: 4 0 31
## 9: 0 2 31
## 10: 0 11 31
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 5142304 26 10
## 2: 1 100011 1 1 0 5142557 19 0
## 3: 1 100011 1 1 0 5142388 17 15
## 4: 1 100011 1 1 0 5142451 17 6
## 5: 1 100011 1 1 0 5142433 15 8
## 6: 1 100011 1 1 0 5142509 15 15
## 7: 1 100011 1 1 0 5142559 15 5
## 8: 1 100011 1 1 0 5142326 14 0
## 9: 1 100011 1 1 0 5142550 14 6
## 10: 1 100011 1 1 0 5142399 13 7
## Filled Calculated2 Total
## 1: 0 2 38
## 2: 0 3 22
## 3: 0 2 34
## 4: 0 7 30
## 5: 0 3 26
## 6: 0 4 34
## 7: 0 2 22
## 8: 3 0 17
## 9: 3 5 28
## 10: 0 2 22
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 5142372 5 22
## 2: 1 100011 1 1 0 5142418 5 21
## 3: 1 100011 1 1 0 5142530 11 21
## 4: 1 100011 1 1 0 5142394 5 20
## 5: 1 100011 1 1 0 5142340 11 19
## 6: 1 100011 1 1 0 5142480 12 19
## 7: 1 100011 1 1 0 5142511 10 19
## 8: 1 100011 1 1 0 5142516 11 19
## 9: 1 100011 1 1 0 5142402 6 18
## 10: 1 100011 1 1 0 5142446 9 18
## Filled Calculated2 Total
## 1: 4 0 31
## 2: 0 0 26
## 3: 0 3 35
## 4: 0 2 27
## 5: 0 0 30
## 6: 0 2 33
## 7: 0 2 31
## 8: 0 0 30
## 9: 0 0 24
## 10: 0 2 29
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 5142305 6 5
## 2: 1 100011 1 1 0 5142314 5 6
## 3: 1 100011 1 1 0 5142372 5 22
## 4: 1 100011 1 1 0 5142562 7 11
## 5: 1 100011 1 1 0 5142596 5 7
## 6: 1 100011 1 1 0 5142326 14 0
## 7: 1 100011 1 1 0 5142550 14 6
## 8: 1 100011 1 1 0 5142349 4 8
## 9: 1 100011 1 1 0 5142386 6 6
## 10: 1 100011 1 1 0 5142500 13 0
## Filled Calculated2 Total
## 1: 7 3 21
## 2: 4 0 15
## 3: 4 0 31
## 4: 4 0 22
## 5: 4 2 18
## 6: 3 0 17
## 7: 3 5 28
## 8: 2 2 16
## 9: 2 2 16
## 10: 2 0 15
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.36777330 0.47357521 0.00982148 0.14883001
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')