calculate wcrt bounds
This commit is contained in:
parent
108d5dfe77
commit
60be7f97ac
@ -4,5 +4,10 @@ if [[ -n "$1" ]]; then
|
|||||||
else
|
else
|
||||||
TARGET=$BENCHDIR
|
TARGET=$BENCHDIR
|
||||||
fi
|
fi
|
||||||
number_cruncher/target/debug/number_cruncher -i $TARGET/timedump -o $TARGET/bench.sqlite
|
|
||||||
|
# Check if bench.sqlite needs to be updated
|
||||||
|
if [[ ! -f $TARGET/bench.sqlite || $(find $TARGET/timedump -name '.*[0-9]+\.time' -newer $TARGET/bench.sqlite | wc -l) -gt 0 ]]; then
|
||||||
|
number_cruncher/target/debug/number_cruncher -i $TARGET/timedump -o $TARGET/bench.sqlite
|
||||||
|
fi
|
||||||
|
|
||||||
Rscript plot_sqlite.r $TARGET/bench.sqlite $TARGET
|
Rscript plot_sqlite.r $TARGET/bench.sqlite $TARGET
|
||||||
|
@ -8,6 +8,7 @@ KNOWN_WCRT <- list(
|
|||||||
waters_seq_bytes=219542, # via INSERT_WC
|
waters_seq_bytes=219542, # via INSERT_WC
|
||||||
waters_seq_int=219542, # via INSERT_WC + manual interrupt
|
waters_seq_int=219542, # via INSERT_WC + manual interrupt
|
||||||
waters_seq_full=219542,# via INSERT_WC + manual interrupt
|
waters_seq_full=219542,# via INSERT_WC + manual interrupt
|
||||||
|
waters_seq_unsync_full=234439,# via INSERT_WC + manual interrupt
|
||||||
polycopter_seq_dataflow_full=343493, # via INSERT_WC + manual interrupt
|
polycopter_seq_dataflow_full=343493, # via INSERT_WC + manual interrupt
|
||||||
polycopter_seq_dataflow_int=343493, # via INSERT_WC + manual interrupt
|
polycopter_seq_dataflow_int=343493, # via INSERT_WC + manual interrupt
|
||||||
release_seq_int=645885, # via INSERT_WC + manual interrupt
|
release_seq_int=645885, # via INSERT_WC + manual interrupt
|
||||||
@ -15,13 +16,14 @@ KNOWN_WCRT <- list(
|
|||||||
)
|
)
|
||||||
|
|
||||||
STATIC_WCRT <- list(
|
STATIC_WCRT <- list(
|
||||||
#waters_seq_bytes=,
|
waters_seq_bytes=256632,
|
||||||
waters_seq_int=270789
|
waters_seq_int=256632,
|
||||||
#waters_seq_full=,
|
waters_seq_full=256632,
|
||||||
#polycopter_seq_dataflow_full=, # via INSERT_WC + manual interrupt
|
waters_seq_unsync_full=272091,
|
||||||
#polycopter_seq_dataflow_int=, # via INSERT_WC + manual interrupt
|
polycopter_seq_dataflow_full=373628,
|
||||||
#release_seq_int=, # via INSERT_WC + manual interrupt
|
polycopter_seq_dataflow_int=373628,
|
||||||
#release_seq_full= # via INSERT_WC + manual interrupt
|
release_seq_int=921360,
|
||||||
|
release_seq_full=921360
|
||||||
)
|
)
|
||||||
|
|
||||||
# Read the first command line argument as an sqlite file
|
# Read the first command line argument as an sqlite file
|
||||||
@ -72,12 +74,21 @@ draw_plot <- function(data, casename) {
|
|||||||
} else {
|
} else {
|
||||||
wcrt = 0
|
wcrt = 0
|
||||||
}
|
}
|
||||||
|
static_wcrt = STATIC_WCRT[[casename]]
|
||||||
|
if (!is.null(wcrt)) {
|
||||||
|
static_wcrt = static_wcrt / ISNS_PER_US
|
||||||
|
} else {
|
||||||
|
static_wcrt = 0
|
||||||
|
}
|
||||||
|
|
||||||
# draw limits
|
# draw limits
|
||||||
max_x <- max(sapply(data, function(tbl) max(tbl$timestamp, na.rm = TRUE)))
|
max_x <- max(sapply(data, function(tbl) max(tbl$timestamp, na.rm = TRUE)))
|
||||||
max_y <- max(wcrt,max(sapply(data, function(tbl) max(tbl$max, na.rm = TRUE))))
|
max_y <- max(wcrt,max(sapply(data, function(tbl) max(tbl$max, na.rm = TRUE))))
|
||||||
min_y <- min(sapply(data, function(tbl) min(tbl$min, na.rm = TRUE)))
|
min_y <- min(sapply(data, function(tbl) min(tbl$min, na.rm = TRUE)))
|
||||||
|
|
||||||
|
# draw static wcrt
|
||||||
|
max_y <- max(max_y, static_wcrt)
|
||||||
|
|
||||||
# plot setup
|
# plot setup
|
||||||
h_ = 380
|
h_ = 380
|
||||||
w_ = h_*4/3
|
w_ = h_*4/3
|
||||||
@ -98,12 +109,16 @@ draw_plot <- function(data, casename) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
legend_names <- names(data)
|
legend_names <- names(data)
|
||||||
legend_colors <- c(MY_COLORS[1:length(data)],"black")
|
legend_colors <- c(MY_COLORS[1:length(data)],"black","black")
|
||||||
legend_styles <- c(rep("solid",length(data)),"dotted")
|
legend_styles <- c(rep("solid",length(data)),"dotted","dashed")
|
||||||
|
|
||||||
if (wcrt > 0) {
|
if (wcrt > 0) {
|
||||||
abline(h=wcrt, col='black', lty='dotted')
|
abline(h=wcrt, col='black', lty='dotted')
|
||||||
legend_names <- c(names(data), "WCRT")
|
legend_names <- c(legend_names, "WCRT")
|
||||||
|
}
|
||||||
|
if (static_wcrt > 0) {
|
||||||
|
abline(h=static_wcrt, col='black', lty='dashed')
|
||||||
|
legend_names <- c(legend_names, "static bound")
|
||||||
}
|
}
|
||||||
|
|
||||||
legend(LEGEND_POS, legend=legend_names,#"bottomright",
|
legend(LEGEND_POS, legend=legend_names,#"bottomright",
|
||||||
|
BIN
fuzzers/FRET/tests/static_wcrts.xlsx
Normal file
BIN
fuzzers/FRET/tests/static_wcrts.xlsx
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user