From ea089fa0f29818baffffab4349b4a6fb817927ec Mon Sep 17 00:00:00 2001
From: gaborcsardi $output function (x, options) { hook.t(x, options[[paste0(“attr.”,
class)]], options[[paste0(“class.”, class)]]) } <bytecode:
-0x561c941d9180> <environment: 0x561c8ff90008>Customization
Gábor
Csárdi
- 2023-06-02
+ 2023-06-15
Source: vignettes/ansi-benchmark.Rmd
ansi-benchmark.Rmd
2023-06-02
#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 ansi 53µs 57.3µs 17318. 97.8KB 19.2
-#> 2 plain 52.8µs 57.2µs 17298. 0B 20.0
-#> 3 base 14.9µs 16.2µs 61168. 48.4KB 18.4
+#> 1 ansi 59.2µs 67.9µs 13933. 97.8KB 14.8
+#> 2 plain 59.2µs 68µs 13151. 0B 15.6
+#> 3 base 17.8µs 19.4µs 46988. 48.4KB 14.1
bench::mark(
ansi = ansi_align(ansi, width = 20, align = "right"),
@@ -177,9 +177,9 @@
#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 ansi 55.2µs 59.7µs 16516. 0B 21.6
-#> 2 plain 55.4µs 59.8µs 16510. 0B 19.4
-#> 3 base 17.2µs 18.6µs 52768. 0B 21.1
+#> 1 ansi 62.3µs 70.6µs 13246. 0B 17.2
+#> 2 plain 66.1µs 71µs 12811. 0B 17.0
+#> 3 base 20.8µs 22.6µs 40700. 0B 12.2
#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 ansi 145.1µs 153.9µs 6411. 75.11KB 14.8
-#> 2 plain 111.6µs 118.9µs 8286. 8.73KB 12.6
-#> 3 base 2.4µs 2.6µs 370274. 0B 0
+#> 1 ansi 173.4µs 185.6µs 5118. 75.11KB 10.5
+#> 2 plain 125.5µs 142.9µs 6626. 8.73KB 10.5
+#> 3 base 2.9µs 3.3µs 281896. 0B 0
#> # A tibble: 2 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 ansi 421µs 445µs 2225. 33.2KB 17.1
-#> 2 plain 423µs 446µs 2222. 1.09KB 17.1
+#> 1 ansi 478µs 531µs 1776. 33.2KB 12.7
+#> 2 plain 489µs 534µs 1741. 1.09KB 14.9
#> # A tibble: 12 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 7µs 7.9µs 124084. 8.03KB 24.8
-#> 2 fansi_ansi 36.5µs 40.2µs 24254. 4.18KB 21.8
-#> 3 cli_plain 7µs 7.9µs 124411. 0B 24.9
-#> 4 fansi_plain 36.3µs 40.1µs 24520. 688B 22.1
-#> 5 cli_vec_ansi 8.7µs 9.4µs 104015. 448B 20.8
-#> 6 fansi_vec_ansi 48.5µs 50.5µs 19503. 5.02KB 17.2
-#> 7 cli_vec_plain 9.5µs 9.9µs 98983. 448B 19.8
-#> 8 fansi_vec_plain 46.6µs 48.4µs 20343. 5.02KB 19.6
-#> 9 cli_txt_ansi 7µs 7.4µs 133287. 0B 13.3
-#> 10 fansi_txt_ansi 36µs 37.6µs 25914. 688B 23.3
-#> 11 cli_txt_plain 7.9µs 8.4µs 115850. 0B 23.2
-#> 12 fansi_txt_plain 46.8µs 49µs 20012. 5.02KB 17.2
+#> 1 cli_ansi 8.1µs 9.5µs 101044. 8.03KB 20.2
+#> 2 fansi_ansi 41.4µs 48.2µs 19528. 4.18KB 17.2
+#> 3 cli_plain 8.5µs 9.5µs 95852. 0B 19.2
+#> 4 fansi_plain 41.5µs 48µs 19487. 688B 19.6
+#> 5 cli_vec_ansi 10.6µs 11.7µs 81133. 448B 16.2
+#> 6 fansi_vec_ansi 57µs 64.9µs 14672. 5.02KB 12.8
+#> 7 cli_vec_plain 11µs 12.7µs 74683. 448B 14.9
+#> 8 fansi_vec_plain 53.4µs 61.9µs 14326. 5.02KB 12.6
+#> 9 cli_txt_ansi 8.5µs 9µs 102768. 0B 10.3
+#> 10 fansi_txt_ansi 41.5µs 45.9µs 20627. 688B 10.5
+#> 11 cli_txt_plain 9.5µs 10.2µs 93612. 0B 9.36
+#> 12 fansi_txt_plain 53µs 60.1µs 15304. 5.02KB 8.44
#> # A tibble: 2 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli 83.4µs 84.8µs 11688. 28.8KB 6.13
-#> 2 fansi 155.9µs 159.9µs 6184. 55.4KB 6.14
+#> 1 cli 88.4µs 97.3µs 9953. 28.8KB 2.02
+#> 2 fansi 182.4µs 204.8µs 4656. 55.4KB 4.07
#> # A tibble: 18 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 8.8µs 9.2µs 105601. 0B 21.1
-#> 2 fansi_ansi 109.2µs 116.9µs 8440. 31.85KB 14.7
-#> 3 base_ansi 899.9ns 1µs 940709. 0B 0
-#> 4 cli_plain 8.7µs 9.2µs 105978. 0B 21.2
-#> 5 fansi_plain 108.1µs 116.4µs 8419. 688B 14.8
-#> 6 base_plain 800ns 1µs 967815. 0B 0
-#> 7 cli_vec_ansi 40.7µs 41.8µs 23763. 448B 4.75
-#> 8 fansi_vec_ansi 143µs 151µs 6540. 5.02KB 12.6
-#> 9 base_vec_ansi 15.4µs 15.6µs 63694. 448B 0
-#> 10 cli_vec_plain 36µs 36.8µs 26939. 448B 5.39
-#> 11 fansi_vec_plain 127.3µs 134.6µs 7338. 5.02KB 12.6
-#> 12 base_vec_plain 8.7µs 9µs 110233. 448B 0
-#> 13 cli_txt_ansi 41.5µs 42.3µs 23507. 0B 4.70
-#> 14 fansi_txt_ansi 130.1µs 137.5µs 7184. 688B 12.5
-#> 15 base_txt_ansi 14.8µs 15µs 66138. 0B 6.61
-#> 16 cli_txt_plain 35.1µs 35.8µs 27693. 0B 5.54
-#> 17 fansi_txt_plain 112.2µs 120.2µs 8218. 688B 12.5
-#> 18 base_txt_plain 8.2µs 8.4µs 117940. 0B 11.8
+#> 1 cli_ansi 9.7µs 11µs 86800. 0B 8.68
+#> 2 fansi_ansi 129.3µs 142.3µs 6637. 31.85KB 8.28
+#> 3 base_ansi 1.3µs 1.4µs 694265. 0B 0
+#> 4 cli_plain 10.3µs 10.9µs 82318. 0B 8.23
+#> 5 fansi_plain 130.8µs 143.4µs 6529. 688B 6.16
+#> 6 base_plain 1.2µs 1.3µs 688305. 0B 0
+#> 7 cli_vec_ansi 49.3µs 50.7µs 18824. 448B 2.02
+#> 8 fansi_vec_ansi 177µs 186µs 5059. 5.02KB 6.19
+#> 9 base_vec_ansi 17.3µs 19.2µs 47403. 448B 0
+#> 10 cli_vec_plain 43.3µs 44.6µs 21637. 448B 2.16
+#> 11 fansi_vec_plain 147.4µs 166.4µs 5530. 5.02KB 6.21
+#> 12 base_vec_plain 10.6µs 10.9µs 91149. 448B 0
+#> 13 cli_txt_ansi 46.4µs 50.9µs 19535. 0B 2.02
+#> 14 fansi_txt_ansi 149.2µs 166.8µs 5961. 688B 6.15
+#> 15 base_txt_ansi 17.9µs 18.5µs 54035. 0B 0
+#> 16 cli_txt_plain 39µs 42.9µs 23187. 0B 2.32
+#> 17 fansi_txt_plain 127.6µs 144.6µs 6871. 688B 8.27
+#> 18 base_txt_plain 9.4µs 10.2µs 96784. 0B 0
bench::mark(
cli_ansi = ansi_nchar(ansi, type = "width"),
@@ -340,24 +340,24 @@
#> # A tibble: 18 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 10.9µs 11.5µs 84674. 0B 25.4
-#> 2 fansi_ansi 109.3µs 117.2µs 8404. 688B 14.8
-#> 3 base_ansi 1.3µs 1.5µs 664807. 0B 0
-#> 4 cli_plain 10.9µs 11.5µs 84793. 0B 25.4
-#> 5 fansi_plain 108.1µs 116.3µs 8490. 688B 14.7
-#> 6 base_plain 1.1µs 1.2µs 806275. 0B 0
-#> 7 cli_vec_ansi 49.6µs 50.6µs 19619. 448B 4.07
-#> 8 fansi_vec_ansi 154.4µs 161.8µs 6105. 5.02KB 12.2
-#> 9 base_vec_ansi 51.1µs 51.7µs 19271. 448B 0
-#> 10 cli_vec_plain 44.3µs 45µs 22057. 448B 4.41
-#> 11 fansi_vec_plain 136.7µs 142.2µs 6957. 5.02KB 12.6
-#> 12 base_vec_plain 25.7µs 26.3µs 37806. 448B 3.78
-#> 13 cli_txt_ansi 50µs 50.8µs 19549. 0B 4.06
-#> 14 fansi_txt_ansi 138.9µs 145.2µs 6818. 688B 12.5
-#> 15 base_txt_ansi 54.3µs 54.7µs 18244. 0B 0
-#> 16 cli_txt_plain 43.9µs 44.7µs 22236. 0B 4.45
-#> 17 fansi_txt_plain 120.8µs 128.9µs 7664. 688B 14.8
-#> 18 base_txt_plain 27.8µs 28µs 35544. 0B 0
+#> 1 cli_ansi 12.1µs 13.8µs 71179. 0B 14.2
+#> 2 fansi_ansi 124.4µs 140.3µs 7083. 688B 6.16
+#> 3 base_ansi 1.7µs 1.9µs 490584. 0B 0
+#> 4 cli_plain 12µs 13.7µs 71828. 0B 14.4
+#> 5 fansi_plain 124.9µs 139.7µs 7088. 688B 6.16
+#> 6 base_plain 1.5µs 1.6µs 594341. 0B 0
+#> 7 cli_vec_ansi 60.1µs 61.3µs 16186. 448B 4.08
+#> 8 fansi_vec_ansi 189.1µs 197.1µs 5021. 5.02KB 4.09
+#> 9 base_vec_ansi 61.2µs 61.9µs 16104. 448B 0
+#> 10 cli_vec_plain 54.7µs 55.9µs 17770. 448B 2.02
+#> 11 fansi_vec_plain 165.3µs 173.9µs 5697. 5.02KB 6.19
+#> 12 base_vec_plain 31.3µs 32.4µs 30764. 448B 0
+#> 13 cli_txt_ansi 60.4µs 62.1µs 16027. 0B 4.08
+#> 14 fansi_txt_ansi 169.3µs 180.7µs 5485. 688B 4.12
+#> 15 base_txt_ansi 65.4µs 66µs 15071. 0B 0
+#> 16 cli_txt_plain 52.9µs 54.5µs 18248. 0B 4.07
+#> 17 fansi_txt_plain 147.4µs 157.1µs 6314. 688B 6.16
+#> 18 base_txt_plain 31.3µs 34.1µs 29139. 0B 0
#> # A tibble: 6 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 8.9µs 9.3µs 105478. 0B 21.1
-#> 2 cli_plain 8µs 8.5µs 115288. 0B 23.1
-#> 3 cli_vec_ansi 50.2µs 50.9µs 19512. 848B 4.07
-#> 4 cli_vec_plain 13.4µs 14µs 70500. 848B 7.05
-#> 5 cli_txt_ansi 50µs 50.7µs 19606. 0B 4.06
-#> 6 cli_txt_plain 9µs 9.5µs 103357. 0B 20.7
+#> 1 cli_ansi 10.3µs 11µs 86530. 0B 8.65
+#> 2 cli_plain 9.6µs 10.2µs 95374. 0B 9.54
+#> 3 cli_vec_ansi 55.9µs 56.8µs 17493. 848B 2.02
+#> 4 cli_vec_plain 16.1µs 17µs 58173. 848B 5.82
+#> 5 cli_txt_ansi 55.5µs 56.6µs 17577. 0B 2.02
+#> 6 cli_txt_plain 10.7µs 11.3µs 86670. 0B 8.67
#> # A tibble: 12 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 14.4µs 15.1µs 64571. 0B 25.8
-#> 2 fansi_ansi 33.9µs 35.4µs 27440. 688B 22.0
-#> 3 cli_plain 14.2µs 14.9µs 65541. 0B 26.2
-#> 4 fansi_plain 33.4µs 35µs 27895. 688B 22.3
-#> 5 cli_vec_ansi 26µs 26.9µs 36557. 848B 14.6
-#> 6 fansi_vec_ansi 69.4µs 71.7µs 13769. 5.41KB 10.5
-#> 7 cli_vec_plain 17.8µs 18.6µs 52664. 848B 21.1
-#> 8 fansi_vec_plain 45.8µs 47.9µs 20474. 4.59KB 17.2
-#> 9 cli_txt_ansi 24.6µs 25.5µs 38696. 0B 11.6
-#> 10 fansi_txt_ansi 56.6µs 59µs 16657. 5.12KB 14.8
-#> 11 cli_txt_plain 15.2µs 15.9µs 61687. 0B 18.5
-#> 12 fansi_txt_plain 35.2µs 36.7µs 26568. 688B 23.9
+#> 1 cli_ansi 17.4µs 18.6µs 53131. 0B 10.6
+#> 2 fansi_ansi 40.7µs 43.3µs 22800. 688B 11.4
+#> 3 cli_plain 17.2µs 18.4µs 53711. 0B 10.7
+#> 4 fansi_plain 40.1µs 42.7µs 23113. 688B 11.6
+#> 5 cli_vec_ansi 31.7µs 33µs 30040. 848B 6.01
+#> 6 fansi_vec_ansi 86.3µs 89.5µs 10990. 5.41KB 6.22
+#> 7 cli_vec_plain 21.5µs 22.8µs 43253. 848B 8.65
+#> 8 fansi_vec_plain 52.7µs 58.6µs 16810. 4.59KB 8.39
+#> 9 cli_txt_ansi 27.5µs 30.9µs 32043. 0B 6.41
+#> 10 fansi_txt_ansi 65.3µs 73.4µs 13485. 5.12KB 6.18
+#> 11 cli_txt_plain 17µs 19.8µs 49874. 0B 9.98
+#> 12 fansi_txt_plain 39.5µs 44.8µs 22006. 688B 11.0
#> # A tibble: 18 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 210.31µs 221µs 4473. 103.37KB 14.8
-#> 2 fansi_ansi 158.1µs 168.1µs 5813. 102.16KB 17.1
-#> 3 base_ansi 5.5µs 5.8µs 168786. 224B 0
-#> 4 cli_plain 207.5µs 215.56µs 4579. 8.09KB 14.8
-#> 5 fansi_plain 154.2µs 161.7µs 6106. 9.62KB 19.3
-#> 6 base_plain 4.8µs 5µs 196745. 0B 0
-#> 7 cli_vec_ansi 8.56ms 8.72ms 115. 823.77KB 26.0
-#> 8 fansi_vec_ansi 1.42ms 1.47ms 663. 846.81KB 15.5
-#> 9 base_vec_ansi 226.41µs 239.71µs 4143. 22.7KB 2.06
-#> 10 cli_vec_plain 8.62ms 8.76ms 113. 823.77KB 26.4
-#> 11 fansi_vec_plain 1.34ms 1.39ms 713. 845.98KB 15.6
-#> 12 base_vec_plain 153.1µs 165.6µs 6004. 848B 2.02
-#> 13 cli_txt_ansi 4.99ms 5.02ms 199. 63.6KB 0
-#> 14 fansi_txt_ansi 2.34ms 2.35ms 424. 35.05KB 2.03
-#> 15 base_txt_ansi 194.91µs 204.21µs 4903. 18.47KB 2.01
-#> 16 cli_txt_plain 3.22ms 3.24ms 308. 63.6KB 0
-#> 17 fansi_txt_plain 739.82µs 755.37µs 1315. 30.6KB 4.08
-#> 18 base_txt_plain 123.4µs 129.3µs 7696. 11.05KB 0
+#> 1 cli_ansi 248.12µs 258.12µs 3837. 103.37KB 8.30
+#> 2 fansi_ansi 188.01µs 202.51µs 4875. 102.16KB 8.33
+#> 3 base_ansi 7µs 7.5µs 130743. 224B 0
+#> 4 cli_plain 243.41µs 255.51µs 3872. 8.09KB 8.30
+#> 5 fansi_plain 177.41µs 195.01µs 5084. 9.62KB 7.46
+#> 6 base_plain 5.9µs 6.3µs 157441. 0B 0
+#> 7 cli_vec_ansi 10.15ms 10.23ms 97.6 823.77KB 11.6
+#> 8 fansi_vec_ansi 1.69ms 1.73ms 538. 846.81KB 10.8
+#> 9 base_vec_ansi 278.32µs 311.72µs 3204. 22.7KB 0
+#> 10 cli_vec_plain 10.03ms 10.12ms 98.5 823.77KB 11.7
+#> 11 fansi_vec_plain 1.57ms 1.61ms 619. 845.98KB 11.0
+#> 12 base_vec_plain 190.41µs 213.01µs 4691. 848B 2.03
+#> 13 cli_txt_ansi 6.02ms 6.15ms 163. 63.6KB 0
+#> 14 fansi_txt_ansi 3.02ms 3.04ms 329. 35.05KB 0
+#> 15 base_txt_ansi 247.81µs 265.02µs 3767. 18.47KB 2.02
+#> 16 cli_txt_plain 3.81ms 3.98ms 251. 63.6KB 0
+#> 17 fansi_txt_plain 919.26µs 948.46µs 1034. 30.6KB 2.03
+#> 18 base_txt_plain 163.51µs 166.21µs 5999. 11.05KB 0
#> # A tibble: 18 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 116.3µs 122.8µs 7932. 32.25KB 19.2
-#> 2 fansi_ansi 62.8µs 66.4µs 14552. 31.45KB 21.9
-#> 3 base_ansi 1.2µs 1.3µs 728658. 4.2KB 0
-#> 4 cli_plain 114.2µs 120.3µs 8130. 0B 19.2
-#> 5 fansi_plain 62.4µs 65.9µs 14690. 872B 21.5
-#> 6 base_plain 1.1µs 1.2µs 797729. 0B 0
-#> 7 cli_vec_ansi 306.8µs 317.1µs 3103. 16.73KB 8.31
-#> 8 fansi_vec_ansi 147.6µs 152.3µs 6433. 5.59KB 10.4
-#> 9 base_vec_ansi 49.5µs 50.2µs 19855. 848B 0
-#> 10 cli_vec_plain 235.7µs 244.3µs 4024. 16.73KB 10.5
-#> 11 fansi_vec_plain 142.2µs 147.1µs 6648. 5.59KB 10.5
-#> 12 base_vec_plain 40.2µs 40.7µs 24489. 848B 0
-#> 13 cli_txt_ansi 126.4µs 133.7µs 7330. 0B 17.0
-#> 14 fansi_txt_ansi 62.7µs 66.1µs 14673. 872B 22.7
-#> 15 base_txt_ansi 1.3µs 1.4µs 724321. 0B 0
-#> 16 cli_txt_plain 114.2µs 117.5µs 8393. 0B 19.1
-#> 17 fansi_txt_plain 62.1µs 64µs 15380. 872B 21.5
-#> 18 base_txt_plain 1.1µs 1.2µs 779868. 0B 78.0
+#> 1 cli_ansi 132.4µs 142.7µs 6926. 32.25KB 10.4
+#> 2 fansi_ansi 75.1µs 79.8µs 12355. 31.45KB 10.5
+#> 3 base_ansi 1.6µs 1.7µs 577887. 4.2KB 0
+#> 4 cli_plain 124.6µs 140.7µs 7037. 0B 10.4
+#> 5 fansi_plain 74.4µs 79.5µs 12412. 872B 8.31
+#> 6 base_plain 1.5µs 1.6µs 584899. 0B 58.5
+#> 7 cli_vec_ansi 340µs 369.2µs 2686. 16.73KB 2.03
+#> 8 fansi_vec_ansi 180.9µs 187µs 5279. 5.59KB 6.22
+#> 9 base_vec_ansi 56.6µs 62µs 16052. 848B 0
+#> 10 cli_vec_plain 267.3µs 294.6µs 3360. 16.73KB 4.11
+#> 11 fansi_vec_plain 166.8µs 179.9µs 5483. 5.59KB 6.21
+#> 12 base_vec_plain 46.3µs 50.5µs 19719. 848B 0
+#> 13 cli_txt_ansi 147.7µs 155.8µs 6351. 0B 8.28
+#> 14 fansi_txt_ansi 69.8µs 79.6µs 12378. 872B 10.5
+#> 15 base_txt_ansi 1.6µs 1.8µs 540291. 0B 0
+#> 16 cli_txt_plain 135.9µs 144.7µs 6818. 0B 10.6
+#> 17 fansi_txt_plain 72.2µs 79.2µs 12462. 872B 10.5
+#> 18 base_txt_plain 1.6µs 1.6µs 595211. 0B 0
#> # A tibble: 18 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 454.21µs 471.31µs 2105. 266.73KB 17.1
-#> 2 fansi_ansi 114.4µs 121µs 8119. 10.3KB 19.4
-#> 3 base_ansi 44.9µs 46.9µs 20619. 0B 19.2
-#> 4 cli_plain 259.01µs 273.51µs 3593. 0B 17.0
-#> 5 fansi_plain 113µs 120.8µs 8016. 872B 19.3
-#> 6 base_plain 36.8µs 38.5µs 25270. 0B 17.7
-#> 7 cli_vec_ansi 46.87ms 46.98ms 21.3 2.48KB 85.2
-#> 8 fansi_vec_ansi 300.21µs 310.41µs 3159. 7.25KB 8.28
-#> 9 base_vec_ansi 2.75ms 2.84ms 346. 48.18KB 23.2
-#> 10 cli_vec_plain 26.16ms 26.6ms 37.6 2.48KB 30.0
-#> 11 fansi_vec_plain 246.71µs 256.81µs 3795. 6.42KB 10.4
-#> 12 base_vec_plain 2ms 2.09ms 469. 47.4KB 20.3
-#> 13 cli_txt_ansi 27.52ms 27.71ms 36.0 507.59KB 13.9
-#> 14 fansi_txt_ansi 284.41µs 296.11µs 3330. 6.77KB 7.24
-#> 15 base_txt_ansi 2.52ms 2.57ms 384. 582.06KB 4.17
-#> 16 cli_txt_plain 2.07ms 2.12ms 469. 369.84KB 6.39
-#> 17 fansi_txt_plain 218.6µs 227.11µs 4344. 2.51KB 6.18
-#> 18 base_txt_plain 1.62ms 1.67ms 595. 367.31KB 6.35
+#> 1 cli_ansi 508.53µs 565.43µs 1756. 266.73KB 6.18
+#> 2 fansi_ansi 138.21µs 146.21µs 6742. 10.3KB 10.4
+#> 3 base_ansi 54.7µs 57.4µs 17116. 0B 8.30
+#> 4 cli_plain 293.02µs 325.37µs 3034. 0B 8.27
+#> 5 fansi_plain 128.51µs 144.61µs 6786. 872B 10.4
+#> 6 base_plain 43.2µs 46.9µs 20951. 0B 8.38
+#> 7 cli_vec_ansi 55.82ms 56.3ms 17.8 2.48KB 14.2
+#> 8 fansi_vec_ansi 350.72µs 387.02µs 2563. 7.25KB 4.15
+#> 9 base_vec_ansi 3.3ms 3.5ms 286. 48.18KB 10.8
+#> 10 cli_vec_plain 31.39ms 32.07ms 31.2 2.48KB 10.4
+#> 11 fansi_vec_plain 301.62µs 312.32µs 3167. 6.42KB 4.08
+#> 12 base_vec_plain 2.44ms 2.56ms 391. 47.4KB 10.7
+#> 13 cli_txt_ansi 33.13ms 33.74ms 29.8 507.59KB 4.58
+#> 14 fansi_txt_ansi 350.72µs 362.22µs 2739. 6.77KB 4.94
+#> 15 base_txt_ansi 3.04ms 3.07ms 322. 582.06KB 4.19
+#> 16 cli_txt_plain 2.48ms 2.53ms 393. 369.84KB 4.18
+#> 17 fansi_txt_plain 266.52µs 270.82µs 3651. 2.51KB 6.22
+#> 18 base_txt_plain 1.96ms 1.99ms 497. 367.31KB 6.37
#> # A tibble: 18 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 8.1µs 8.7µs 110274. 23.84KB 22.1
-#> 2 fansi_ansi 91µs 95.8µs 10322. 28.48KB 10.5
-#> 3 base_ansi 1.1µs 1.2µs 765373. 0B 0
-#> 4 cli_plain 8.1µs 8.8µs 111056. 0B 22.2
-#> 5 fansi_plain 90.6µs 96.6µs 10198. 1.98KB 10.5
-#> 6 base_plain 1.1µs 1.2µs 816067. 0B 0
-#> 7 cli_vec_ansi 36.2µs 37.6µs 26388. 1.7KB 2.64
-#> 8 fansi_vec_ansi 138.4µs 144.3µs 6847. 8.86KB 8.37
-#> 9 base_vec_ansi 9.1µs 9.6µs 103714. 848B 0
-#> 10 cli_vec_plain 30.5µs 31.8µs 31140. 1.7KB 3.11
-#> 11 fansi_vec_plain 130.7µs 136.3µs 7253. 8.86KB 8.37
-#> 12 base_vec_plain 8.6µs 8.9µs 111345. 848B 0
-#> 13 cli_txt_ansi 8.1µs 8.9µs 108964. 0B 21.8
-#> 14 fansi_txt_ansi 91.1µs 96.7µs 10223. 1.98KB 10.5
-#> 15 base_txt_ansi 5.6µs 5.8µs 170556. 0B 0
-#> 16 cli_txt_plain 8.9µs 9.8µs 99684. 0B 9.97
-#> 17 fansi_txt_plain 90.8µs 96.4µs 10234. 1.98KB 12.6
-#> 18 base_txt_plain 3.7µs 3.8µs 260044. 0B 0
+#> 1 cli_ansi 9.9µs 10.4µs 94370. 23.84KB 9.44
+#> 2 fansi_ansi 110.3µs 113µs 8707. 28.48KB 10.5
+#> 3 base_ansi 1.4µs 1.5µs 638268. 0B 0
+#> 4 cli_plain 9.9µs 10.3µs 95535. 0B 19.1
+#> 5 fansi_plain 110.3µs 113.4µs 8600. 1.98KB 8.45
+#> 6 base_plain 1.4µs 1.5µs 618324. 0B 0
+#> 7 cli_vec_ansi 45.3µs 46.7µs 21200. 1.7KB 4.24
+#> 8 fansi_vec_ansi 171.7µs 176.8µs 5590. 8.86KB 6.23
+#> 9 base_vec_ansi 11.8µs 12.3µs 80000. 848B 0
+#> 10 cli_vec_plain 37.7µs 39.7µs 24871. 1.7KB 2.49
+#> 11 fansi_vec_plain 160.9µs 166.5µs 5936. 8.86KB 6.25
+#> 12 base_vec_plain 11.1µs 11.7µs 84237. 848B 8.42
+#> 13 cli_txt_ansi 10µs 10.7µs 91334. 0B 9.13
+#> 14 fansi_txt_ansi 110.9µs 117µs 8445. 1.98KB 8.32
+#> 15 base_txt_ansi 6.9µs 7.1µs 138731. 0B 13.9
+#> 16 cli_txt_plain 10.9µs 11.6µs 84524. 0B 8.45
+#> 17 fansi_txt_plain 110.7µs 116.4µs 8494. 1.98KB 8.32
+#> 18 base_txt_plain 4.6µs 4.7µs 206222. 0B 20.6
#> # A tibble: 12 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 133.1µs 141.7µs 6987. 11.87KB 6.15
-#> 2 base_ansi 1.5µs 1.7µs 586087. 0B 0
-#> 3 cli_plain 103.8µs 110.4µs 8940. 8.73KB 8.26
-#> 4 base_plain 1.1µs 1.2µs 773765. 0B 0
-#> 5 cli_vec_ansi 4.92ms 5.24ms 192. 838.77KB 13.6
-#> 6 base_vec_ansi 95.9µs 96.8µs 10306. 848B 0
-#> 7 cli_vec_plain 2.84ms 3.03ms 334. 816.9KB 13.1
-#> 8 base_vec_plain 58.9µs 60.2µs 16577. 848B 0
-#> 9 cli_txt_ansi 14.62ms 14.76ms 67.7 114.42KB 4.23
-#> 10 base_txt_ansi 95.2µs 95.6µs 10434. 0B 0
-#> 11 cli_txt_plain 386.31µs 394.91µs 2518. 18.16KB 2.02
-#> 12 base_txt_plain 56.4µs 56.8µs 17568. 0B 0
+#> 1 cli_ansi 158.61µs 168.41µs 5890. 11.87KB 8.30
+#> 2 base_ansi 2µs 2.1µs 463056. 0B 0
+#> 3 cli_plain 124.61µs 131.71µs 7491. 8.73KB 6.16
+#> 4 base_plain 1.5µs 1.6µs 606518. 0B 0
+#> 5 cli_vec_ansi 6.04ms 6.33ms 159. 838.77KB 11.2
+#> 6 base_vec_ansi 123.21µs 124.11µs 8038. 848B 0
+#> 7 cli_vec_plain 3.45ms 3.64ms 278. 816.9KB 13.2
+#> 8 base_vec_plain 75µs 75.61µs 13173. 848B 0
+#> 9 cli_txt_ansi 17.59ms 17.82ms 56.1 114.42KB 2.08
+#> 10 base_txt_ansi 123.11µs 123.41µs 8072. 0B 0
+#> 11 cli_txt_plain 484.93µs 498.03µs 1998. 18.16KB 2.02
+#> 12 base_txt_plain 73µs 74.11µs 13454. 0B 0
#> # A tibble: 12 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli_ansi 87.4µs 92.3µs 10779. 0B 10.4
-#> 2 base_ansi 21.6µs 23.1µs 42894. 0B 12.9
-#> 3 cli_plain 87.1µs 91.9µs 10773. 0B 10.4
-#> 4 base_plain 21.6µs 23µs 42957. 0B 8.59
-#> 5 cli_vec_ansi 195.6µs 203.4µs 4859. 7.2KB 6.17
-#> 6 base_vec_ansi 72µs 80.3µs 12430. 1.66KB 2.02
-#> 7 cli_vec_plain 177.8µs 186.6µs 5310. 7.2KB 6.18
-#> 8 base_vec_plain 66.2µs 74.3µs 13435. 1.66KB 4.07
-#> 9 cli_txt_ansi 160.9µs 165.9µs 5967. 0B 6.13
-#> 10 base_txt_ansi 47.2µs 48.5µs 20415. 0B 4.08
-#> 11 cli_txt_plain 141.9µs 147.5µs 6717. 0B 6.22
-#> 12 base_txt_plain 43.4µs 44.9µs 22113. 0B 6.64
+#> 1 cli_ansi 102.1µs 107.2µs 9229. 0B 10.4
+#> 2 base_ansi 25.5µs 26.8µs 36906. 0B 7.38
+#> 3 cli_plain 102.3µs 107µs 9257. 0B 10.4
+#> 4 base_plain 25.3µs 26.7µs 37043. 0B 11.1
+#> 5 cli_vec_ansi 234.7µs 245.4µs 4015. 7.2KB 4.10
+#> 6 base_vec_ansi 88µs 96.9µs 10213. 1.66KB 2.02
+#> 7 cli_vec_plain 213.9µs 224.8µs 4389. 7.2KB 4.10
+#> 8 base_vec_plain 81µs 89.7µs 11062. 1.66KB 4.09
+#> 9 cli_txt_ansi 191.1µs 197.6µs 5018. 0B 4.07
+#> 10 base_txt_ansi 56.6µs 58µs 17099. 0B 4.07
+#> 11 cli_txt_plain 168.6µs 173.9µs 5708. 0B 6.15
+#> 12 base_txt_plain 52.4µs 53.9µs 18408. 0B 4.07
#> # A tibble: 6 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli 10.6µs 11.5µs 85863. 12.3KB 8.59
-#> 2 base 999.9ns 1.1µs 839278. 0B 0
-#> 3 cli_vec 34.2µs 35.3µs 28062. 448B 5.61
-#> 4 base_vec 15.1µs 15.4µs 64661. 448B 0
-#> 5 cli_txt 34µs 35.2µs 28171. 0B 2.82
-#> 6 base_txt 17.1µs 18.2µs 54472. 0B 5.45
+#> 1 cli 12.6µs 13.3µs 73736. 12.3KB 7.37
+#> 2 base 1.3µs 1.4µs 658715. 0B 0
+#> 3 cli_vec 41.2µs 42.5µs 23320. 448B 4.66
+#> 4 base_vec 18.5µs 18.8µs 52929. 448B 0
+#> 5 cli_txt 41µs 42.4µs 23449. 0B 2.35
+#> 6 base_txt 20.8µs 21.2µs 46597. 0B 0
bench::mark(
cli = utf8_nchar(uni, type = "width"),
@@ -726,12 +726,12 @@
#> # A tibble: 6 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli 10.5µs 11.3µs 87002. 0B 8.70
-#> 2 base 1.5µs 1.7µs 564921. 0B 0
-#> 3 cli_vec 37.5µs 39.4µs 25195. 448B 5.04
-#> 4 base_vec 65µs 65.9µs 15133. 448B 0
-#> 5 cli_txt 38.1µs 39.6µs 25129. 0B 2.51
-#> 6 base_txt 118.8µs 120µs 8313. 0B 0
+#> 1 cli 12.3µs 13.1µs 74781. 0B 7.48
+#> 2 base 2µs 2.1µs 447431. 0B 0
+#> 3 cli_vec 45.1µs 46.9µs 21137. 448B 4.23
+#> 4 base_vec 80.3µs 81.5µs 12236. 448B 0
+#> 5 cli_txt 45.5µs 47.1µs 21058. 0B 2.11
+#> 6 base_txt 142.9µs 145µs 6873. 0B 0
bench::mark(
cli = utf8_nchar(uni, type = "codepoints"),
@@ -745,12 +745,12 @@
#> # A tibble: 6 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli 11.4µs 12.3µs 79763. 0B 16.0
-#> 2 base 999.9ns 1.1µs 844013. 0B 0
-#> 3 cli_vec 26µs 27.1µs 36517. 448B 7.30
-#> 4 base_vec 15.1µs 15.3µs 64795. 448B 0
-#> 5 cli_txt 28.2µs 29.7µs 33408. 0B 3.34
-#> 6 base_txt 17.3µs 18.2µs 54504. 0B 5.45
+#> 1 cli 13.6µs 14.4µs 67904. 0B 13.6
+#> 2 base 1.3µs 1.4µs 655572. 0B 0
+#> 3 cli_vec 31.2µs 32.2µs 30720. 448B 6.15
+#> 4 base_vec 18.5µs 18.8µs 52851. 448B 0
+#> 5 cli_txt 33.1µs 34.8µs 28561. 0B 5.71
+#> 6 base_txt 20.7µs 20.9µs 47027. 0B 0
#> # A tibble: 6 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 cli 7.6µs 8.4µs 115345. 21.1KB 11.5
-#> 2 base 1.1µs 1.3µs 730859. 0B 0
-#> 3 cli_vec 38.2µs 39µs 25411. 1.7KB 5.08
-#> 4 base_vec 11.2µs 11.5µs 86547. 848B 0
-#> 5 cli_txt 7.5µs 8µs 123751. 0B 12.4
-#> 6 base_txt 9.2µs 10µs 99165. 0B 9.92
+#> 1 cli 9.2µs 10.1µs 96610. 21.1KB 9.66
+#> 2 base 1.5µs 1.6µs 576154. 0B 57.6
+#> 3 cli_vec 46.5µs 48µs 20693. 1.7KB 2.07
+#> 4 base_vec 13.9µs 14.4µs 68868. 848B 0
+#> 5 cli_txt 9.3µs 10.1µs 95290. 0B 19.1
+#> 6 base_txt 10.9µs 11.2µs 86386. 0B 0
vignettes/palettes.Rmd
palettes.Rmd
vignettes/pluralization.Rmd
pluralization.Rmd
vignettes/progress-advanced.Rmd
progress-advanced.Rmd
vignettes/progress-benchmark.Rmd
progress-benchmark.Rmd
ben_st2 <- bench::mark(
if (`__cli_update_due`) foobar()
@@ -145,7 +145,7 @@ The timer#> # A tibble: 1 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch> <bch:> <dbl> <bch:byt> <dbl>
-#> 1 if (`__cli_update_due`) fooba… 0 0 23192846. 0B 0
for
loop
@@ -187,14 +187,16 @@ Overhead per iteration:
ben_taf <- bench::mark(f0(), fp())
+#> Warning: Some expressions had a GC in every iteration; so filtering is
+#> disabled.
ben_taf
#> # A tibble: 2 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0() 19ms 19ms 52.7 25.2KB 1108.
-#> 2 fp() 22.5ms 22.6ms 44.2 83.2KB 376.
+#> 1 f0() 22.9ms 26.6ms 35.8 25.2KB 33.8
+#> 2 fp() 30.1ms 31.4ms 31.2 83.2KB 31.2
(ben_taf$median[2] - ben_taf$median[1]) / 1e5
-#> [1] 36.7ns
ben_taf2 <- bench::mark(f0(1e6), fp(1e6))
#> Warning: Some expressions had a GC in every iteration; so filtering is
@@ -203,10 +205,10 @@
#> # A tibble: 2 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0(1e+06) 223ms 223ms 4.43 0B 41.3
-#> 2 fp(1e+06) 232ms 276ms 3.62 1.87KB 32.6
+#> 1 f0(1e+06) 262ms 265ms 3.77 0B 35.8
+#> 2 fp(1e+06) 294ms 298ms 3.36 1.87KB 31.9
(ben_taf2$median[2] - ben_taf2$median[1]) / 1e6
-#> [1] 52.8ns
ben_taf3 <- bench::mark(f0(1e7), fp(1e7))
#> Warning: Some expressions had a GC in every iteration; so filtering is
@@ -215,10 +217,10 @@
#> # A tibble: 2 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0(1e+07) 2.21s 2.21s 0.452 0B 42.1
-#> 2 fp(1e+07) 2.44s 2.44s 0.410 1.87KB 37.7
+#> 1 f0(1e+07) 2.45s 2.45s 0.408 0B 23.6
+#> 2 fp(1e+07) 2.81s 2.81s 0.356 1.87KB 20.3
(ben_taf3$median[2] - ben_taf3$median[1]) / 1e7
-#> [1] 22.7ns
ben_taf4 <- bench::mark(f0(1e8), fp(1e8))
#> Warning: Some expressions had a GC in every iteration; so filtering is
@@ -227,10 +229,10 @@
#> # A tibble: 2 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0(1e+08) 20.5s 20.5s 0.0487 0B 27.8
-#> 2 fp(1e+08) 22.8s 22.8s 0.0439 1.87KB 24.0
+#> 1 f0(1e+08) 24.8s 24.8s 0.0404 0B 25.3
+#> 2 fp(1e+08) 27.7s 27.7s 0.0361 1.87KB 22.4
(ben_taf4$median[2] - ben_taf4$median[1]) / 1e8
-#> [1] 22.7ns
lapply()
@@ -271,11 +273,11 @@ lapply()
#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0() 96.9ms 109ms 6.80 781KB 13.6
-#> 2 f01() 107.2ms 126ms 8.26 781KB 13.2
-#> 3 fp() 134.2ms 144ms 6.23 783KB 9.34
+#> 1 f0() 109ms 125ms 8.30 781KB 14.9
+#> 2 f01() 146ms 155ms 6.22 781KB 14.0
+#> 3 fp() 178ms 180ms 5.32 783KB 10.6
(ben_tam$median[3] - ben_tam$median[1]) / 1e5
-#> [1] 353ns
ben_tam2 <- bench::mark(f0(1e6), f01(1e6), fp(1e6))
#> Warning: Some expressions had a GC in every iteration; so filtering is
@@ -284,13 +286,13 @@ Mapping with lapply()
#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0(1e+06) 944.6ms 944.6ms 1.06 7.63MB 3.18
-#> 2 f01(1e+06) 1.23s 1.23s 0.816 7.63MB 4.89
-#> 3 fp(1e+06) 1.58s 1.58s 0.634 7.63MB 3.17
+#> 1 f0(1e+06) 1.09s 1.09s 0.918 7.63MB 2.75
+#> 2 f01(1e+06) 1.42s 1.42s 0.705 7.63MB 3.53
+#> 3 fp(1e+06) 1.68s 1.68s 0.594 7.63MB 2.38
(ben_tam2$median[3] - ben_tam2$median[1]) / 1e6
-#> [1] 633ns
+#> [1] 593ns
(ben_tam2$median[3] - ben_tam2$median[2]) / 1e6
-#> [1] 352ns
ben_pur2 <- bench::mark(f0(1e6), f01(1e6), fp(1e6))
#> Warning: Some expressions had a GC in every iteration; so filtering is
@@ -344,13 +346,13 @@ Mapping with purrr#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0(1e+06) 913.84ms 913.84ms 1.09 7.63MB 3.28
-#> 2 f01(1e+06) 1.17s 1.17s 0.856 7.63MB 3.43
-#> 3 fp(1e+06) 1.62s 1.62s 0.616 7.63MB 2.46
+#> 1 f0(1e+06) 1.14s 1.14s 0.876 7.63MB 1.75
+#> 2 f01(1e+06) 1.5s 1.5s 0.669 7.63MB 2.68
+#> 3 fp(1e+06) 1.92s 1.92s 0.521 7.63MB 2.08
(ben_pur2$median[3] - ben_pur2$median[1]) / 1e6
-#> [1] 710ns
+#> [1] 779ns
(ben_pur2$median[3] - ben_pur2$median[2]) / 1e6
-#> [1] 456ns
ben_api2 <- bench::mark(f0(1e6), ff(1e6), fp(1e6))
#> Warning: Some expressions had a GC in every iteration; so filtering is
@@ -444,13 +446,13 @@ Traditional API#> # A tibble: 3 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:tm> <bch:tm> <dbl> <bch:byt> <dbl>
-#> 1 f0(1e+06) 202.1ms 202.3ms 4.91 0B 4.91
-#> 2 ff(1e+06) 274.7ms 297.6ms 3.36 1.87KB 3.36
-#> 3 fp(1e+06) 27.9s 27.9s 0.0359 1.87KB 2.04
+#> 1 f0(1e+06) 223.2ms 224.5ms 4.46 0B 4.46
+#> 2 ff(1e+06) 320.8ms 320.9ms 3.12 1.87KB 3.12
+#> 3 fp(1e+06) 33.3s 33.3s 0.0300 1.87KB 1.65
(ben_api2$median[3] - ben_api2$median[1]) / 1e6
-#> [1] 27.7µs
+#> [1] 33.1µs
(ben_api2$median[2] - ben_api2$median[1]) / 1e6
-#> [1] 95.3ns
cli_progress_bar(total = 100000)
bench::mark(cli_progress_update(force = TRUE), max_iterations = 10000)
-#> ■ 0% | ETA: 7m
+#> ■ 0% | ETA: 8m
#> ■ 0% | ETA: 3h
#> ■ 0% | ETA: 2h
+#> ■ 0% | ETA: 2h
#> ■ 0% | ETA: 1h
#> ■ 0% | ETA: 1h
#> ■ 0% | ETA: 1h
#> ■ 0% | ETA: 1h
#> ■ 0% | ETA: 1h
-#> ■ 0% | ETA: 47m
-#> ■ 0% | ETA: 43m
+#> ■ 0% | ETA: 49m
+#> ■ 0% | ETA: 46m
+#> ■ 0% | ETA: 44m
#> ■ 0% | ETA: 41m
+#> ■ 0% | ETA: 40m
#> ■ 0% | ETA: 38m
#> ■ 0% | ETA: 36m
#> ■ 0% | ETA: 35m
+#> ■ 0% | ETA: 34m
#> ■ 0% | ETA: 33m
#> ■ 0% | ETA: 32m
#> ■ 0% | ETA: 31m
+#> ■ 0% | ETA: 31m
#> ■ 0% | ETA: 30m
#> ■ 0% | ETA: 29m
+#> ■ 0% | ETA: 29m
#> ■ 0% | ETA: 28m
#> ■ 0% | ETA: 28m
#> ■ 0% | ETA: 27m
#> ■ 0% | ETA: 27m
+#> ■ 0% | ETA: 27m
+#> ■ 0% | ETA: 26m
+#> ■ 0% | ETA: 26m
#> ■ 0% | ETA: 26m
#> ■ 0% | ETA: 25m
#> ■ 0% | ETA: 25m
@@ -566,41 +577,25 @@ Iterator with a bar#> ■ 0% | ETA: 24m
#> ■ 0% | ETA: 24m
#> ■ 0% | ETA: 24m
+#> ■ 0% | ETA: 24m
+#> ■ 0% | ETA: 24m
+#> ■ 0% | ETA: 23m
+#> ■ 0% | ETA: 23m
#> ■ 0% | ETA: 23m
#> ■ 0% | ETA: 23m
#> ■ 0% | ETA: 23m
+#> ■ 0% | ETA: 23m
+#> ■ 0% | ETA: 22m
+#> ■ 0% | ETA: 22m
+#> ■ 0% | ETA: 22m
#> ■ 0% | ETA: 22m
#> ■ 0% | ETA: 22m
#> ■ 0% | ETA: 22m
#> ■ 0% | ETA: 22m
-#> ■ 0% | ETA: 21m
-#> ■ 0% | ETA: 21m
-#> ■ 0% | ETA: 21m
-#> ■ 0% | ETA: 21m
-#> ■ 0% | ETA: 21m
-#> ■ 0% | ETA: 21m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 20m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
-#> ■ 0% | ETA: 19m
#> # A tibble: 1 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:> <bch:> <dbl> <bch:byt> <dbl>
-#> 1 cli_progress_update(force = … 8.03ms 8.22ms 119. 1.34MB 0
+#> 1 cli_progress_update(force = … 8.98ms 9.19ms 106. 1.34MB 2.04
cli_progress_done()
cli_progress_bar(total = NA)
bench::mark(cli_progress_update(force = TRUE), max_iterations = 10000)
-#> ⠙ 1 done (294/s) | 4ms
-#> ⠹ 2 done (41/s) | 49ms
-#> ⠸ 3 done (51/s) | 60ms
-#> ⠼ 4 done (58/s) | 70ms
-#> ⠴ 5 done (62/s) | 81ms
-#> ⠦ 6 done (66/s) | 91ms
-#> ⠧ 7 done (69/s) | 102ms
-#> ⠇ 8 done (71/s) | 113ms
-#> ⠏ 9 done (73/s) | 123ms
-#> ⠋ 10 done (75/s) | 134ms
-#> ⠙ 11 done (76/s) | 145ms
-#> ⠹ 12 done (77/s) | 156ms
-#> ⠸ 13 done (79/s) | 166ms
-#> ⠼ 14 done (80/s) | 176ms
-#> ⠴ 15 done (81/s) | 186ms
-#> ⠦ 16 done (82/s) | 196ms
-#> ⠧ 17 done (83/s) | 206ms
-#> ⠇ 18 done (84/s) | 216ms
-#> ⠏ 19 done (84/s) | 226ms
-#> ⠋ 20 done (85/s) | 236ms
-#> ⠙ 21 done (86/s) | 246ms
-#> ⠹ 22 done (86/s) | 255ms
-#> ⠸ 23 done (87/s) | 265ms
-#> ⠼ 24 done (88/s) | 275ms
-#> ⠴ 25 done (88/s) | 284ms
-#> ⠦ 26 done (89/s) | 294ms
-#> ⠧ 27 done (89/s) | 304ms
-#> ⠇ 28 done (90/s) | 313ms
-#> ⠏ 29 done (90/s) | 323ms
-#> ⠋ 30 done (90/s) | 332ms
-#> ⠙ 31 done (91/s) | 342ms
-#> ⠹ 32 done (91/s) | 352ms
-#> ⠸ 33 done (92/s) | 361ms
-#> ⠼ 34 done (92/s) | 371ms
-#> ⠴ 35 done (92/s) | 381ms
-#> ⠦ 36 done (92/s) | 390ms
-#> ⠧ 37 done (93/s) | 400ms
-#> ⠇ 38 done (93/s) | 410ms
-#> ⠏ 39 done (93/s) | 420ms
-#> ⠋ 40 done (93/s) | 429ms
-#> ⠙ 41 done (94/s) | 439ms
-#> ⠹ 42 done (94/s) | 449ms
-#> ⠸ 43 done (94/s) | 458ms
-#> ⠼ 44 done (94/s) | 468ms
-#> ⠴ 45 done (94/s) | 478ms
-#> ⠦ 46 done (94/s) | 488ms
-#> ⠧ 47 done (95/s) | 497ms
-#> ⠇ 48 done (95/s) | 507ms
-#> ⠏ 49 done (95/s) | 517ms
-#> ⠋ 50 done (95/s) | 526ms
-#> ⠙ 51 done (95/s) | 536ms
-#> ⠹ 52 done (95/s) | 545ms
+#> ⠙ 1 done (286/s) | 4ms
+#> ⠹ 2 done (46/s) | 44ms
+#> ⠸ 3 done (55/s) | 55ms
+#> ⠼ 4 done (62/s) | 66ms
+#> ⠴ 5 done (66/s) | 76ms
+#> ⠦ 6 done (69/s) | 87ms
+#> ⠧ 7 done (72/s) | 98ms
+#> ⠇ 8 done (74/s) | 108ms
+#> ⠏ 9 done (76/s) | 119ms
+#> ⠋ 10 done (77/s) | 130ms
+#> ⠙ 11 done (79/s) | 141ms
+#> ⠹ 12 done (80/s) | 151ms
+#> ⠸ 13 done (81/s) | 162ms
+#> ⠼ 14 done (82/s) | 172ms
+#> ⠴ 15 done (82/s) | 183ms
+#> ⠦ 16 done (83/s) | 193ms
+#> ⠧ 17 done (84/s) | 204ms
+#> ⠇ 18 done (84/s) | 214ms
+#> ⠏ 19 done (85/s) | 225ms
+#> ⠋ 20 done (85/s) | 235ms
+#> ⠙ 21 done (86/s) | 245ms
+#> ⠹ 22 done (86/s) | 256ms
+#> ⠸ 23 done (87/s) | 266ms
+#> ⠼ 24 done (87/s) | 277ms
+#> ⠴ 25 done (87/s) | 288ms
+#> ⠦ 26 done (87/s) | 299ms
+#> ⠧ 27 done (88/s) | 309ms
+#> ⠇ 28 done (88/s) | 320ms
+#> ⠏ 29 done (88/s) | 330ms
+#> ⠋ 30 done (88/s) | 341ms
+#> ⠙ 31 done (88/s) | 352ms
+#> ⠹ 32 done (88/s) | 362ms
+#> ⠸ 33 done (89/s) | 373ms
+#> ⠼ 34 done (89/s) | 384ms
+#> ⠴ 35 done (89/s) | 395ms
+#> ⠦ 36 done (89/s) | 405ms
+#> ⠧ 37 done (89/s) | 416ms
+#> ⠇ 38 done (89/s) | 426ms
+#> ⠏ 39 done (89/s) | 437ms
+#> ⠋ 40 done (89/s) | 448ms
+#> ⠙ 41 done (90/s) | 458ms
+#> ⠹ 42 done (90/s) | 469ms
+#> ⠸ 43 done (90/s) | 480ms
+#> ⠼ 44 done (90/s) | 490ms
+#> ⠴ 45 done (90/s) | 501ms
+#> ⠦ 46 done (90/s) | 512ms
+#> ⠧ 47 done (90/s) | 522ms
+#> ⠇ 48 done (90/s) | 533ms
+#> ⠏ 49 done (90/s) | 543ms
#> # A tibble: 1 × 6
#> expression min median `itr/sec` mem_alloc `gc/sec`
#> <bch:expr> <bch:> <bch:> <dbl> <bch:byt> <dbl>
-#> 1 cli_progress_update(force = … 9.48ms 9.72ms 101. 198KB 0
+#> 1 cli_progress_update(force = … 10.2ms 10.6ms 94.3 198KB 0
cli_progress_done()
vignettes/progress.Rmd
progress.Rmd
vignettes/semantic-cli.Rmd
semantic-cli.Rmd
-#> This is sub-process 12707 from callr -#> [1] 12707 +#> This is sub-process 12211 from callr +#> [1] 12211
vignettes/usethis-ui.Rmd
usethis-ui.Rmd
text <- cli::col_red(cli:::lorem_ipsum())
ansi_strtrim(c(text, "foobar"), 40)
#> <cli_ansi_string>
-#> [1] Excepteur nisi sint laborum esse qui et…
+#> [1] Esse nulla nulla ad cillum sint tempor …
#> [2] foobar
diff --git a/dev/reference/ansi_strwrap.html b/dev/reference/ansi_strwrap.html
index f22854961..bc59b9670 100644
--- a/dev/reference/ansi_strwrap.html
+++ b/dev/reference/ansi_strwrap.html
@@ -135,20 +135,22 @@