mirror of
https://github.com/logos-storage/bittorrent-benchmarks.git
synced 2026-01-05 22:43:11 +00:00
feat: allow experiments to be merged
This commit is contained in:
parent
7844a3e338
commit
f01dab84f0
@ -23,3 +23,18 @@ read_all_experiments <- function(base_path, skip_incomplete = TRUE) {
|
||||
|
||||
experiments[!is.null(experiments)]
|
||||
}
|
||||
|
||||
merge_experiments <- function(set_1, set_2, prefix) {
|
||||
maxid <- max(as.integer(sub(pattern = 'e', '', ls(deluge))))
|
||||
merged <- list()
|
||||
|
||||
for (set_1_id in ls(set_1)) {
|
||||
merged[[set_1_id]] <- set_1[[set_1_id]]
|
||||
}
|
||||
|
||||
for (set_2_id in ls(set_2)) {
|
||||
merged[[paste0(prefix, set_2_id)]] <- set_2[[set_2_id]]
|
||||
}
|
||||
|
||||
merged
|
||||
}
|
||||
|
||||
@ -20,7 +20,9 @@ devtools::load_all()
|
||||
This is data that's been pre-parsed from an experiment [log source](https://github.com/codex-storage/bittorrent-benchmarks/blob/1ee8ea8a35a2c0fccea6e7c955183c4ed03eebb3/benchmarks/logging/sources.py#L27).
|
||||
|
||||
```{r}
|
||||
deluge <- read_all_experiments('./data/g1738145663/')
|
||||
deluge <- read_all_experiments('./data/g1738145663/') |>
|
||||
merge_experiments(
|
||||
read_all_experiments('./data/g1738248455/'), prefix = 's')
|
||||
```
|
||||
Computes the benchmark statistics from raw download logs.
|
||||
|
||||
@ -49,7 +51,10 @@ benchmarks <- lapply(deluge, function(experiment) {
|
||||
bind_rows() |>
|
||||
arrange(file_size, network_size, seeders, leechers) |>
|
||||
mutate(
|
||||
file_size = as.character(rlang::parse_bytes(as.character(file_size))),
|
||||
# This factor conversion is horrible but needed so things are sorted properly in the plot.
|
||||
file_size = factor(rlang::parse_bytes(as.character(file_size)),
|
||||
levels = rlang::parse_bytes(as.character(
|
||||
unique(file_size[order(file_size, decreasing = TRUE)])))),
|
||||
seeder_ratio = seeders/network_size
|
||||
) |>
|
||||
relocate(file_size, network_size, seeders, leechers)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user