@@ -140,9 +140,9 @@ timings
140140# > # A tibble: 3 × 6
141141# > expression min median `itr/sec` mem_alloc `gc/sec`
142142# > <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
143- # > 1 r 493ms 496.46ms 2.01 782KB 2.01
144- # > 2 quickr 934µs 1.07ms 930 . 782KB 19.5
145- # > 3 c 956µs 1.08ms 924 . 782KB 19.6
143+ # > 1 r 493ms 494.1ms 2.02 782KB 3.04
144+ # > 2 quickr 994µs 1.09ms 912 . 782KB 18.1
145+ # > 3 c 952µs 1.09ms 908 . 782KB 18.1
146146plot(timings ) + bench :: scale_x_bench_time(base = NULL )
147147```
148148
@@ -182,11 +182,11 @@ In the case of `convolve()`, `quick()` returns a function approximately
182182 #> [71] log log10 logical matrix max
183183 #> [76] min ncol next nrow numeric
184184 #> [81] outer print prod qr.solve raw
185- #> [86] rbind repeat rev runif seq
186- #> [91] seq_along seq_len sin solve sqrt
187- #> [96] stop sum svd t tan
188- #> [101] tanh tcrossprod trunc which.max which.min
189- #> [106] while
185+ #> [86] rbind rep.int repeat rev runif
186+ #> [91] seq seq_along seq_len sin solve
187+ #> [96] sqrt stop sum svd t
188+ #> [101] tan tanh tcrossprod trunc which.max
189+ #> [106] which.min while
190190
191191Many of these restrictions are expected to be relaxed as the project
192192matures. However, quickr is intended primarily for high-performance
@@ -303,8 +303,8 @@ timings
303303# > # A tibble: 2 × 6
304304# > expression min median `itr/sec` mem_alloc `gc/sec`
305305# > <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
306- # > 1 slow_viterbi 62.81µs 75.6µs 12852 . 1.59KB 28 .2
307- # > 2 quick_viterbi 5.45µs 6.19µs 158835 . 0B 0
306+ # > 1 slow_viterbi 63.18µs 76.42µs 12554 . 1.59KB 30 .2
307+ # > 2 quick_viterbi 4.96µs 5.74µs 169250 . 0B 0
308308plot(timings )
309309```
310310
@@ -395,8 +395,8 @@ summary(timings, relative = TRUE)
395395# > # A tibble: 2 × 6
396396# > expression min median `itr/sec` mem_alloc `gc/sec`
397397# > <bch:expr> <dbl> <dbl> <dbl> <dbl> <dbl>
398- # > 1 diffuse_heat 6.84 11.6 1 4893. 28.8
399- # > 2 quick_diffuse_heat 1 1 10.2 1 1
398+ # > 1 diffuse_heat 9.17 8.46 1 4893. Inf
399+ # > 2 quick_diffuse_heat 1 1 7.75 1 NaN
400400plot(timings )
401401```
402402
@@ -442,9 +442,9 @@ timings
442442# > # A tibble: 3 × 6
443443# > expression min median `itr/sec` mem_alloc `gc/sec`
444444# > <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
445- # > 1 r 78.19ms 85.82ms 9.02 124.24MB 23.5
446- # > 2 rcpp 6.21ms 6.3ms 156 . 4.46MB 0
447- # > 3 quickr 2.37ms 2.49ms 394 . 781.35KB 3 .98
445+ # > 1 r 82.63ms 94.61ms 7.76 124.24MB 25.2
446+ # > 2 rcpp 6.24ms 6.58ms 149 . 4.46MB 1.98
447+ # > 3 quickr 4.22ms 4.61ms 216 . 781.35KB 1 .98
448448
449449timings $ expression <- factor (names(timings $ expression ), rev(names(timings $ expression )))
450450plot(timings ) + bench :: scale_x_bench_time(base = NULL )
@@ -558,10 +558,10 @@ timings
558558# > # A tibble: 4 × 6
559559# > expression min median `itr/sec` mem_alloc `gc/sec`
560560# > <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
561- # > 1 reference 12.26ms 12.85ms 78.2 29.6MB 73.8
562- # > 2 RcppArmadillo 1.66ms 2.04ms 476 . 0B 0
563- # > 3 plain R 1.59ms 1.9ms 516 . 13.2MB 133.
564- # > 4 quickr 974.32µs 1.09ms 849 . 0B 0
561+ # > 1 reference 14.5ms 15.28ms 65.3 29.6MB 61.0
562+ # > 2 RcppArmadillo 2.85ms 3.27ms 304 . 0B 0
563+ # > 3 plain R 3.65ms 4.07ms 242 . 13.2MB 62.3
564+ # > 4 quickr 2.97ms 3.22ms 307 . 0B 0
565565plot(timings ) + ggplot2 :: scale_y_discrete(limits = rev(c(
566566 " reference" , " RcppArmadillo" , " plain R" , " quickr"
567567)))
0 commit comments