calculate wcrt bounds
This commit is contained in:
parent
108d5dfe77
commit
60be7f97ac
@ -4,5 +4,10 @@ if [[ -n "$1" ]]; then
|
||||
else
|
||||
TARGET=$BENCHDIR
|
||||
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
|
||||
|
@ -8,6 +8,7 @@ KNOWN_WCRT <- list(
|
||||
waters_seq_bytes=219542, # via INSERT_WC
|
||||
waters_seq_int=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_int=343493, # via INSERT_WC + manual interrupt
|
||||
release_seq_int=645885, # via INSERT_WC + manual interrupt
|
||||
@ -15,13 +16,14 @@ KNOWN_WCRT <- list(
|
||||
)
|
||||
|
||||
STATIC_WCRT <- list(
|
||||
#waters_seq_bytes=,
|
||||
waters_seq_int=270789
|
||||
#waters_seq_full=,
|
||||
#polycopter_seq_dataflow_full=, # via INSERT_WC + manual interrupt
|
||||
#polycopter_seq_dataflow_int=, # via INSERT_WC + manual interrupt
|
||||
#release_seq_int=, # via INSERT_WC + manual interrupt
|
||||
#release_seq_full= # via INSERT_WC + manual interrupt
|
||||
waters_seq_bytes=256632,
|
||||
waters_seq_int=256632,
|
||||
waters_seq_full=256632,
|
||||
waters_seq_unsync_full=272091,
|
||||
polycopter_seq_dataflow_full=373628,
|
||||
polycopter_seq_dataflow_int=373628,
|
||||
release_seq_int=921360,
|
||||
release_seq_full=921360
|
||||
)
|
||||
|
||||
# Read the first command line argument as an sqlite file
|
||||
@ -72,12 +74,21 @@ draw_plot <- function(data, casename) {
|
||||
} else {
|
||||
wcrt = 0
|
||||
}
|
||||
static_wcrt = STATIC_WCRT[[casename]]
|
||||
if (!is.null(wcrt)) {
|
||||
static_wcrt = static_wcrt / ISNS_PER_US
|
||||
} else {
|
||||
static_wcrt = 0
|
||||
}
|
||||
|
||||
# draw limits
|
||||
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))))
|
||||
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
|
||||
h_ = 380
|
||||
w_ = h_*4/3
|
||||
@ -98,12 +109,16 @@ draw_plot <- function(data, casename) {
|
||||
}
|
||||
|
||||
legend_names <- names(data)
|
||||
legend_colors <- c(MY_COLORS[1:length(data)],"black")
|
||||
legend_styles <- c(rep("solid",length(data)),"dotted")
|
||||
legend_colors <- c(MY_COLORS[1:length(data)],"black","black")
|
||||
legend_styles <- c(rep("solid",length(data)),"dotted","dashed")
|
||||
|
||||
if (wcrt > 0) {
|
||||
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",
|
||||
|
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