library(tidyverse)
── Attaching packages ───────────────── tidyverse 1.3.0 ──
✓ ggplot2 3.3.1.9000 ✓ purrr 0.3.4
✓ tibble 3.0.1.9002 ✓ dplyr 1.0.0
✓ tidyr 1.1.0 ✓ stringr 1.4.0
✓ readr 1.3.1 ✓ forcats 0.5.0
── Conflicts ──────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
x <- bench::cb_read()
x %>%
unnest(benchmarks) %>%
filter(grepl("^v[1-9]", subject)) %>%
mutate(assign = grepl("<-", name, fixed = TRUE)) %>%
mutate(double = grepl("[[", name, fixed = TRUE)) %>%
mutate(dollar = grepl("$", name, fixed = TRUE)) %>%
mutate(op = case_when(
dollar ~ "$",
double ~ "[[",
TRUE ~ "["
)) %>%
ggplot(aes(x = subject, y = p50, group = name)) +
geom_line(alpha = 0.3) +
bench::scale_y_bench_time() +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
facet_grid(vars(assign), vars(op), labeller = "label_both")

IycgLS0tCiMnIG91dHB1dDogaHRtbF9ub3RlYm9vawojJyAtLS0KCmxpYnJhcnkodGlkeXZlcnNlKQoKeCA8LSBiZW5jaDo6Y2JfcmVhZCgpCgp4ICU+JQogIHVubmVzdChiZW5jaG1hcmtzKSAlPiUKICBmaWx0ZXIoZ3JlcGwoIl52WzEtOV0iLCBzdWJqZWN0KSkgJT4lCiAgbXV0YXRlKGFzc2lnbiA9IGdyZXBsKCI8LSIsIG5hbWUsIGZpeGVkID0gVFJVRSkpICU+JQogIG11dGF0ZShkb3VibGUgPSBncmVwbCgiW1siLCBuYW1lLCBmaXhlZCA9IFRSVUUpKSAlPiUKICBtdXRhdGUoZG9sbGFyID0gZ3JlcGwoIiQiLCBuYW1lLCBmaXhlZCA9IFRSVUUpKSAlPiUKICBtdXRhdGUob3AgPSBjYXNlX3doZW4oCiAgICBkb2xsYXIgfiAiJCIsCiAgICBkb3VibGUgfiAiW1siLAogICAgVFJVRSAgIH4gIlsiCiAgKSkgJT4lCiAgZ2dwbG90KGFlcyh4ID0gc3ViamVjdCwgeSA9IHA1MCwgZ3JvdXAgPSBuYW1lKSkgKwogIGdlb21fbGluZShhbHBoYSA9IDAuMykgKwogIGJlbmNoOjpzY2FsZV95X2JlbmNoX3RpbWUoKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCwgaGp1c3QgPSAxLCB2anVzdCA9IDAuNSkpICsKICBmYWNldF9ncmlkKHZhcnMoYXNzaWduKSwgdmFycyhvcCksIGxhYmVsbGVyID0gImxhYmVsX2JvdGgiKQo=