mirror of
https://github.com/nodejs/node.git
synced 2024-11-27 22:16:50 +01:00
affc6aca03
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com> PR-URL: https://github.com/nodejs/node/pull/47729 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
37 lines
1.1 KiB
R
37 lines
1.1 KiB
R
#!/usr/bin/env Rscript
|
|
library(ggplot2);
|
|
library(plyr);
|
|
|
|
# get __dirname and load ./_cli.R
|
|
args = commandArgs(trailingOnly = F);
|
|
dirname = dirname(sub("--file=", "", args[grep("--file", args)]));
|
|
source(paste0(dirname, '/_cli.R'), chdir=T);
|
|
|
|
if (!is.null(args.options$help) ||
|
|
(!is.null(args.options$plot) && args.options$plot == TRUE)) {
|
|
stop("usage: cat file.csv | Rscript bar.R
|
|
--help show this message
|
|
--plot filename save plot to filename");
|
|
}
|
|
|
|
plot.filename = args.options$plot;
|
|
|
|
dat = read.csv(
|
|
file('stdin'),
|
|
colClasses=c('character', 'character', 'character', 'numeric', 'numeric')
|
|
);
|
|
dat = data.frame(dat);
|
|
|
|
dat$nameTwoLines = paste0(dat$filename, '\n', dat$configuration);
|
|
dat$name = paste0(dat$filename, ' ', dat$configuration);
|
|
|
|
# Create a box plot
|
|
if (!is.null(plot.filename)) {
|
|
p = ggplot(data=dat, aes(x=nameTwoLines, y=rate, fill=binary));
|
|
p = p + geom_bar(stat="summary", position=position_dodge());
|
|
p = p + ylab("rate of operations (higher is better)");
|
|
p = p + xlab("benchmark");
|
|
p = p + theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5));
|
|
ggsave(plot.filename, p);
|
|
}
|