## 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
## 100000 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 100000 1 1 0 253503 12 12
## 2: 1 100000 1 1 0 253505 19 16
## 3: 1 100000 1 1 0 253618 8 27
## 4: 1 100000 1 1 0 253389 14 11
## 5: 1 100000 1 1 0 253431 11 15
## 6: 1 100000 1 1 0 253487 12 15
## 7: 1 100000 1 1 0 253372 13 11
## 8: 1 100000 1 1 0 253434 13 11
## 9: 1 100000 1 1 0 253489 13 10
## 10: 1 100000 1 1 0 253619 18 10
## Filled Calculated2 Total
## 1: 1 33 58
## 2: 10 1 46
## 3: 3 3 41
## 4: 4 7 36
## 5: 7 2 35
## 6: 3 5 35
## 7: 7 2 33
## 8: 4 4 32
## 9: 4 5 32
## 10: 3 1 32
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 100000 1 1 0 253505 19 16
## 2: 1 100000 1 1 0 253510 19 4
## 3: 1 100000 1 1 0 253619 18 10
## 4: 1 100000 1 1 0 253426 16 6
## 5: 1 100000 1 1 0 253363 15 4
## 6: 1 100000 1 1 0 253629 15 9
## 7: 1 100000 1 1 0 253367 14 8
## 8: 1 100000 1 1 0 253375 14 7
## 9: 1 100000 1 1 0 253389 14 11
## 10: 1 100000 1 1 0 253404 14 10
## Filled Calculated2 Total
## 1: 10 1 46
## 2: 5 1 29
## 3: 3 1 32
## 4: 5 1 28
## 5: 1 5 25
## 6: 6 2 32
## 7: 6 2 30
## 8: 6 1 28
## 9: 4 7 36
## 10: 1 5 30
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 100000 1 1 0 253618 8 27
## 2: 1 100000 1 1 0 253505 19 16
## 3: 1 100000 1 1 0 253431 11 15
## 4: 1 100000 1 1 0 253487 12 15
## 5: 1 100000 1 1 0 253382 7 13
## 6: 1 100000 1 1 0 253474 11 13
## 7: 1 100000 1 1 0 253657 8 13
## 8: 1 100000 1 1 0 253376 9 12
## 9: 1 100000 1 1 0 253419 9 12
## 10: 1 100000 1 1 0 253437 11 12
## Filled Calculated2 Total
## 1: 3 3 41
## 2: 10 1 46
## 3: 7 2 35
## 4: 3 5 35
## 5: 5 1 26
## 6: 4 1 29
## 7: 4 2 27
## 8: 9 1 31
## 9: 0 4 25
## 10: 2 3 28
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 100000 1 1 0 253383 7 7
## 2: 1 100000 1 1 0 253505 19 16
## 3: 1 100000 1 1 0 253376 9 12
## 4: 1 100000 1 1 0 253414 7 10
## 5: 1 100000 1 1 0 253415 8 7
## 6: 1 100000 1 1 0 253416 9 8
## 7: 1 100000 1 1 0 253519 6 12
## 8: 1 100000 1 1 0 253639 10 9
## 9: 1 100000 1 1 0 253372 13 11
## 10: 1 100000 1 1 0 253381 8 6
## Filled Calculated2 Total
## 1: 11 1 26
## 2: 10 1 46
## 3: 9 1 31
## 4: 9 5 31
## 5: 9 1 25
## 6: 9 3 29
## 7: 8 1 27
## 8: 8 2 29
## 9: 7 2 33
## 10: 7 1 22
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.3797141 0.3390979 0.1507908 0.1303972
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')