mirror of
https://github.com/Rucknium/misc-research.git
synced 2024-12-22 11:29:22 +00:00
Start Monero-Cryptography-Benchmarks
This commit is contained in:
parent
299789cee7
commit
e7425d3ad5
3 changed files with 4129 additions and 0 deletions
89
Monero-Cryptography-Benchmarks/mock-tx-perf.R
Normal file
89
Monero-Cryptography-Benchmarks/mock-tx-perf.R
Normal file
|
@ -0,0 +1,89 @@
|
|||
|
||||
perf.tests.txt <- readLines("Monero-Cryptography-Benchmarks/raw-data/mock_tx_perf_z2a_1.txt")
|
||||
|
||||
perf.tests.txt <- perf.tests.txt[(-1) * 1:46]
|
||||
perf.tests.txt <- perf.tests.txt[perf.tests.txt != ""]
|
||||
perf.tests.txt <- perf.tests.txt[substr(perf.tests.txt, 1, 4) != "2021"]
|
||||
|
||||
|
||||
i <- 2
|
||||
|
||||
while (i <= length(perf.tests.txt)) {
|
||||
if ( substr(perf.tests.txt[i], 1, 12) != "test_mock_tx") {
|
||||
perf.tests.txt <- perf.tests.txt[ (-1) * i ]
|
||||
}
|
||||
i <- i + 2
|
||||
}
|
||||
|
||||
|
||||
test_mock_tx.data <- perf.tests.txt[grepl("^test_mock_tx", perf.tests.txt)]
|
||||
params.data <- perf.tests.txt[ ! grepl("^test_mock_tx", perf.tests.txt)]
|
||||
|
||||
stopifnot(length(test_mock_tx.data) == length(params.data))
|
||||
|
||||
params.data <- strsplit(params.data, " || ", fixed = TRUE)
|
||||
params.data <- lapply(params.data, FUN = function(x) {
|
||||
gsub(".+: ", "", x)
|
||||
})
|
||||
|
||||
stopifnot(all(lengths(params.data) == 7))
|
||||
|
||||
params.data <- as.data.frame(matrix(unlist(params.data), ncol = 7, byrow = TRUE))
|
||||
for (i in 2:7) {
|
||||
params.data[, i] <- as.numeric(params.data[, i])
|
||||
}
|
||||
|
||||
colnames(params.data) <- c("type", "size.bytes", "batch.size", "inputs",
|
||||
"outputs", "rangeproof.split", "ref.set.size")
|
||||
|
||||
test_mock_tx.data <- gsub(".+> +", "", test_mock_tx.data)
|
||||
|
||||
test_mock_tx.data <- strsplit(test_mock_tx.data, " +")
|
||||
|
||||
stopifnot(all(lengths(test_mock_tx.data) == 19))
|
||||
|
||||
test_mock_tx.data <- as.data.frame(matrix(as.numeric(unlist(test_mock_tx.data)),
|
||||
ncol = 19, byrow = TRUE))
|
||||
|
||||
# https://github.com/monero-project/monero/blob/master/src/common/timings.h
|
||||
colnames(test_mock_tx.data) <- c(
|
||||
"time_t",
|
||||
"size_t",
|
||||
"min",
|
||||
"max",
|
||||
"mean",
|
||||
"median",
|
||||
"stdev",
|
||||
"npskew",
|
||||
paste0("percentile.", seq(0, 100, by = 10))
|
||||
)
|
||||
|
||||
combined.data <- cbind(params.data, test_mock_tx.data)
|
||||
|
||||
write.csv(combined.data, file = "Monero-Cryptography-Benchmarks/processed-data/mock_tx_perf_z2a_1.csv", row.names = FALSE)
|
||||
|
||||
# Very preliminary analysis starts below
|
||||
|
||||
|
||||
|
||||
|
||||
table(combined.data$type)
|
||||
|
||||
summary(combined.data$stdev/combined.data$mean)
|
||||
|
||||
|
||||
summary(lm(mean ~ type + size.bytes + batch.size + inputs +
|
||||
outputs + rangeproof.split + ref.set.size, data = combined.data))
|
||||
|
||||
|
||||
combined.data.inflated <- combined.data[rep(1:nrow(combined.data), 50), ]
|
||||
|
||||
|
||||
summary(lm(mean ~ type + size.bytes + batch.size + inputs +
|
||||
outputs + rangeproof.split + ref.set.size, data = combined.data.inflated))
|
||||
|
||||
summary(lm(log(mean) ~ type + size.bytes + batch.size + inputs +
|
||||
outputs + rangeproof.split + ref.set.size, data = combined.data.inflated))
|
||||
|
||||
summary(lm(log(mean) ~ type + log(size.bytes) + log(batch.size) + log(inputs) +
|
||||
log(outputs) + log(I(rangeproof.split + 1)) + log(ref.set.size), data = combined.data.inflated))
|
1324
Monero-Cryptography-Benchmarks/processed-data/mock_tx_perf_z2a_1.csv
Normal file
1324
Monero-Cryptography-Benchmarks/processed-data/mock_tx_perf_z2a_1.csv
Normal file
File diff suppressed because it is too large
Load diff
2716
Monero-Cryptography-Benchmarks/raw-data/mock_tx_perf_z2a_1.txt
Normal file
2716
Monero-Cryptography-Benchmarks/raw-data/mock_tx_perf_z2a_1.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue