for distance in (seq 1 200) env distance=$distance node benchy.cjs end PID: 98378 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,960,036 ops/sec ±0.07% (89 runs sampled) toUTF8_assign_array x 5,061,101 ops/sec ±0.42% (92 runs sampled) toUTF8_push_array x 25,284,341 ops/sec ±0.97% (94 runs sampled) toUTF8_rope_string x 121,911,532 ops/sec ±0.06% (100 runs sampled) toUTF8_alloc_array x 4,950,055 ops/sec ±0.22% (95 runs sampled) toUTF8_slice_buffer x 2,724,482 ops/sec ±0.27% (96 runs sampled) toUTF8_subarray_buffer x 6,782,992 ops/sec ±0.20% (98 runs sampled) toUTF8_no_latin x 8,138,464 ops/sec ±0.08% (97 runs sampled) Input buffer len: 800, start: 20 end: 21, stringLen: 1 Fastest to slowest is do_nothing, toUTF8_rope_string, toUTF8_push_array, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98385 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 605,749,949 ops/sec ±0.38% (85 runs sampled) toUTF8_assign_array x 4,846,607 ops/sec ±0.37% (95 runs sampled) toUTF8_push_array x 20,520,563 ops/sec ±0.84% (92 runs sampled) toUTF8_rope_string x 51,707,910 ops/sec ±1.83% (95 runs sampled) toUTF8_alloc_array x 4,800,421 ops/sec ±0.22% (96 runs sampled) toUTF8_slice_buffer x 2,243,655 ops/sec ±0.11% (97 runs sampled) toUTF8_subarray_buffer x 6,242,079 ops/sec ±0.69% (95 runs sampled) toUTF8_no_latin x 7,349,616 ops/sec ±0.35% (95 runs sampled) Input buffer len: 800, start: 20 end: 22, stringLen: 2 Fastest to slowest is do_nothing, toUTF8_rope_string, toUTF8_push_array, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98392 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,965,985 ops/sec ±0.07% (86 runs sampled) toUTF8_assign_array x 4,762,041 ops/sec ±0.39% (95 runs sampled) toUTF8_push_array x 18,728,650 ops/sec ±0.67% (90 runs sampled) toUTF8_rope_string x 33,033,541 ops/sec ±0.08% (94 runs sampled) toUTF8_alloc_array x 4,649,725 ops/sec ±0.30% (94 runs sampled) toUTF8_slice_buffer x 1,872,011 ops/sec ±0.12% (96 runs sampled) toUTF8_subarray_buffer x 6,032,293 ops/sec ±0.54% (99 runs sampled) toUTF8_no_latin x 7,173,403 ops/sec ±0.27% (98 runs sampled) Input buffer len: 800, start: 20 end: 23, stringLen: 3 Fastest to slowest is do_nothing, toUTF8_rope_string, toUTF8_push_array, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98400 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 602,231,802 ops/sec ±0.06% (99 runs sampled) toUTF8_assign_array x 4,621,004 ops/sec ±0.38% (92 runs sampled) toUTF8_push_array x 16,995,028 ops/sec ±0.58% (90 runs sampled) toUTF8_rope_string x 23,554,215 ops/sec ±0.19% (99 runs sampled) toUTF8_alloc_array x 4,722,639 ops/sec ±0.14% (93 runs sampled) toUTF8_slice_buffer x 1,695,914 ops/sec ±0.10% (95 runs sampled) toUTF8_subarray_buffer x 5,879,736 ops/sec ±0.18% (96 runs sampled) toUTF8_no_latin x 7,248,436 ops/sec ±0.33% (95 runs sampled) Input buffer len: 800, start: 20 end: 24, stringLen: 4 Fastest to slowest is do_nothing, toUTF8_rope_string, toUTF8_push_array, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_alloc_array, toUTF8_assign_array, toUTF8_slice_buffer PID: 98426 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,897,516 ops/sec ±0.07% (87 runs sampled) toUTF8_assign_array x 4,527,398 ops/sec ±0.37% (91 runs sampled) toUTF8_push_array x 15,867,352 ops/sec ±1.48% (94 runs sampled) toUTF8_rope_string x 18,085,807 ops/sec ±2.49% (96 runs sampled) toUTF8_alloc_array x 4,393,726 ops/sec ±0.36% (97 runs sampled) toUTF8_slice_buffer x 1,513,416 ops/sec ±0.15% (99 runs sampled) toUTF8_subarray_buffer x 5,619,977 ops/sec ±0.44% (97 runs sampled) toUTF8_no_latin x 7,177,994 ops/sec ±0.15% (99 runs sampled) Input buffer len: 800, start: 20 end: 25, stringLen: 5 Fastest to slowest is do_nothing, toUTF8_rope_string, toUTF8_push_array, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98433 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 602,432,430 ops/sec ±0.06% (98 runs sampled) toUTF8_assign_array x 4,305,673 ops/sec ±0.21% (93 runs sampled) toUTF8_push_array x 14,950,030 ops/sec ±0.51% (90 runs sampled) toUTF8_rope_string x 14,884,611 ops/sec ±0.18% (96 runs sampled) toUTF8_alloc_array x 4,292,256 ops/sec ±0.11% (99 runs sampled) toUTF8_slice_buffer x 1,372,473 ops/sec ±0.14% (100 runs sampled) toUTF8_subarray_buffer x 5,431,756 ops/sec ±0.22% (93 runs sampled) toUTF8_no_latin x 6,813,115 ops/sec ±0.45% (96 runs sampled) Input buffer len: 800, start: 20 end: 26, stringLen: 6 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_rope_string, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98440 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,105,154 ops/sec ±0.06% (92 runs sampled) toUTF8_assign_array x 4,347,922 ops/sec ±0.49% (91 runs sampled) toUTF8_push_array x 13,834,498 ops/sec ±0.48% (93 runs sampled) toUTF8_rope_string x 12,532,073 ops/sec ±0.17% (98 runs sampled) toUTF8_alloc_array x 4,188,807 ops/sec ±0.11% (94 runs sampled) toUTF8_slice_buffer x 1,258,442 ops/sec ±0.13% (95 runs sampled) toUTF8_subarray_buffer x 4,745,883 ops/sec ±0.42% (99 runs sampled) toUTF8_no_latin x 7,039,629 ops/sec ±0.16% (95 runs sampled) Input buffer len: 800, start: 20 end: 27, stringLen: 7 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_rope_string, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98464 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 604,975,071 ops/sec ±0.15% (89 runs sampled) toUTF8_assign_array x 4,125,957 ops/sec ±0.31% (95 runs sampled) toUTF8_push_array x 13,055,615 ops/sec ±0.40% (94 runs sampled) toUTF8_rope_string x 10,752,825 ops/sec ±0.09% (98 runs sampled) toUTF8_alloc_array x 4,085,484 ops/sec ±0.23% (97 runs sampled) toUTF8_slice_buffer x 1,168,034 ops/sec ±0.83% (94 runs sampled) toUTF8_subarray_buffer x 5,132,036 ops/sec ±0.23% (97 runs sampled) toUTF8_no_latin x 6,988,410 ops/sec ±0.78% (97 runs sampled) Input buffer len: 800, start: 20 end: 28, stringLen: 8 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_rope_string, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98471 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 604,521,473 ops/sec ±0.38% (90 runs sampled) toUTF8_assign_array x 3,985,971 ops/sec ±0.17% (95 runs sampled) toUTF8_push_array x 12,240,124 ops/sec ±0.46% (93 runs sampled) toUTF8_rope_string x 9,368,052 ops/sec ±0.15% (95 runs sampled) toUTF8_alloc_array x 3,985,396 ops/sec ±0.10% (97 runs sampled) toUTF8_slice_buffer x 1,086,398 ops/sec ±0.09% (99 runs sampled) toUTF8_subarray_buffer x 4,976,304 ops/sec ±0.20% (96 runs sampled) toUTF8_no_latin x 6,879,895 ops/sec ±0.32% (97 runs sampled) Input buffer len: 800, start: 20 end: 29, stringLen: 9 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_rope_string, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98478 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 604,534,875 ops/sec ±0.54% (87 runs sampled) toUTF8_assign_array x 4,191,894 ops/sec ±0.25% (94 runs sampled) toUTF8_push_array x 11,655,689 ops/sec ±0.58% (91 runs sampled) toUTF8_rope_string x 8,280,843 ops/sec ±0.11% (99 runs sampled) toUTF8_alloc_array x 3,912,166 ops/sec ±0.22% (96 runs sampled) toUTF8_slice_buffer x 1,011,685 ops/sec ±0.14% (96 runs sampled) toUTF8_subarray_buffer x 4,848,831 ops/sec ±0.45% (97 runs sampled) toUTF8_no_latin x 6,851,083 ops/sec ±0.13% (98 runs sampled) Input buffer len: 800, start: 20 end: 30, stringLen: 10 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_rope_string, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98495 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,101,049 ops/sec ±0.07% (91 runs sampled) toUTF8_assign_array x 3,845,923 ops/sec ±0.19% (94 runs sampled) toUTF8_push_array x 11,210,905 ops/sec ±0.48% (96 runs sampled) toUTF8_rope_string x 7,399,464 ops/sec ±0.18% (98 runs sampled) toUTF8_alloc_array x 3,765,331 ops/sec ±0.34% (95 runs sampled) toUTF8_slice_buffer x 949,189 ops/sec ±0.11% (96 runs sampled) toUTF8_subarray_buffer x 4,718,848 ops/sec ±0.32% (99 runs sampled) toUTF8_no_latin x 6,839,231 ops/sec ±0.50% (96 runs sampled) Input buffer len: 800, start: 20 end: 31, stringLen: 11 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_rope_string, toUTF8_no_latin, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98503 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 601,906,376 ops/sec ±0.06% (99 runs sampled) toUTF8_assign_array x 3,754,663 ops/sec ±0.37% (90 runs sampled) toUTF8_push_array x 10,811,767 ops/sec ±0.45% (97 runs sampled) toUTF8_rope_string x 6,711,401 ops/sec ±0.20% (91 runs sampled) toUTF8_alloc_array x 3,754,008 ops/sec ±0.10% (95 runs sampled) toUTF8_slice_buffer x 887,484 ops/sec ±0.28% (98 runs sampled) toUTF8_subarray_buffer x 4,617,672 ops/sec ±0.80% (96 runs sampled) toUTF8_no_latin x 7,059,297 ops/sec ±0.24% (97 runs sampled) Input buffer len: 800, start: 20 end: 32, stringLen: 12 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98513 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 602,743,248 ops/sec ±0.06% (95 runs sampled) toUTF8_assign_array x 3,679,565 ops/sec ±0.18% (95 runs sampled) toUTF8_push_array x 10,421,441 ops/sec ±0.46% (93 runs sampled) toUTF8_rope_string x 6,379,483 ops/sec ±0.19% (96 runs sampled) toUTF8_alloc_array x 3,656,436 ops/sec ±0.13% (96 runs sampled) toUTF8_slice_buffer x 844,941 ops/sec ±0.10% (99 runs sampled) toUTF8_subarray_buffer x 4,544,089 ops/sec ±0.20% (95 runs sampled) toUTF8_no_latin x 7,085,437 ops/sec ±0.20% (96 runs sampled) Input buffer len: 800, start: 20 end: 33, stringLen: 13 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98520 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 604,862,201 ops/sec ±0.05% (87 runs sampled) toUTF8_assign_array x 3,635,261 ops/sec ±0.84% (95 runs sampled) toUTF8_push_array x 10,084,943 ops/sec ±0.51% (96 runs sampled) toUTF8_rope_string x 6,120,965 ops/sec ±0.10% (96 runs sampled) toUTF8_alloc_array x 3,589,156 ops/sec ±0.19% (97 runs sampled) toUTF8_slice_buffer x 800,862 ops/sec ±0.09% (98 runs sampled) toUTF8_subarray_buffer x 4,425,200 ops/sec ±0.19% (98 runs sampled) toUTF8_no_latin x 6,917,790 ops/sec ±0.80% (95 runs sampled) Input buffer len: 800, start: 20 end: 34, stringLen: 14 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98527 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 602,581,763 ops/sec ±0.06% (96 runs sampled) toUTF8_assign_array x 3,566,179 ops/sec ±0.68% (94 runs sampled) toUTF8_push_array x 9,736,544 ops/sec ±0.46% (93 runs sampled) toUTF8_rope_string x 5,849,123 ops/sec ±0.22% (99 runs sampled) toUTF8_alloc_array x 3,525,163 ops/sec ±0.12% (99 runs sampled) toUTF8_slice_buffer x 761,241 ops/sec ±0.11% (95 runs sampled) toUTF8_subarray_buffer x 4,338,635 ops/sec ±0.26% (97 runs sampled) toUTF8_no_latin x 6,971,182 ops/sec ±0.13% (96 runs sampled) Input buffer len: 800, start: 20 end: 35, stringLen: 15 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98535 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 609,515,723 ops/sec ±0.67% (84 runs sampled) toUTF8_assign_array x 3,847,418 ops/sec ±0.60% (91 runs sampled) toUTF8_push_array x 9,290,136 ops/sec ±0.46% (95 runs sampled) toUTF8_rope_string x 5,601,022 ops/sec ±0.10% (97 runs sampled) toUTF8_alloc_array x 3,418,217 ops/sec ±0.38% (92 runs sampled) toUTF8_slice_buffer x 722,765 ops/sec ±0.13% (97 runs sampled) toUTF8_subarray_buffer x 4,209,523 ops/sec ±0.31% (96 runs sampled) toUTF8_no_latin x 6,954,926 ops/sec ±0.80% (97 runs sampled) Input buffer len: 800, start: 20 end: 36, stringLen: 16 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98542 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,361,503 ops/sec ±0.21% (94 runs sampled) toUTF8_assign_array x 3,427,193 ops/sec ±0.16% (93 runs sampled) toUTF8_push_array x 8,891,836 ops/sec ±0.67% (91 runs sampled) toUTF8_rope_string x 5,379,942 ops/sec ±0.17% (96 runs sampled) toUTF8_alloc_array x 3,424,521 ops/sec ±0.12% (93 runs sampled) toUTF8_slice_buffer x 691,398 ops/sec ±0.12% (94 runs sampled) toUTF8_subarray_buffer x 4,130,176 ops/sec ±0.25% (96 runs sampled) toUTF8_no_latin x 6,849,988 ops/sec ±0.22% (99 runs sampled) Input buffer len: 800, start: 20 end: 37, stringLen: 17 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98550 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,360,761 ops/sec ±0.07% (89 runs sampled) toUTF8_assign_array x 3,358,269 ops/sec ±0.18% (98 runs sampled) toUTF8_push_array x 6,534,667 ops/sec ±0.65% (91 runs sampled) toUTF8_rope_string x 5,191,575 ops/sec ±0.12% (99 runs sampled) toUTF8_alloc_array x 3,360,166 ops/sec ±0.23% (96 runs sampled) toUTF8_slice_buffer x 661,958 ops/sec ±0.11% (97 runs sampled) toUTF8_subarray_buffer x 4,012,973 ops/sec ±0.23% (96 runs sampled) toUTF8_no_latin x 6,841,018 ops/sec ±0.71% (95 runs sampled) Input buffer len: 800, start: 20 end: 38, stringLen: 18 Fastest to slowest is do_nothing, toUTF8_no_latin, toUTF8_push_array, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_alloc_array, toUTF8_assign_array, toUTF8_slice_buffer PID: 98557 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 647,117,782 ops/sec ±1.65% (83 runs sampled) toUTF8_assign_array x 3,301,080 ops/sec ±0.15% (95 runs sampled) toUTF8_push_array x 6,300,186 ops/sec ±0.49% (91 runs sampled) toUTF8_rope_string x 4,966,956 ops/sec ±0.10% (97 runs sampled) toUTF8_alloc_array x 3,263,642 ops/sec ±0.27% (94 runs sampled) toUTF8_slice_buffer x 632,752 ops/sec ±0.15% (96 runs sampled) toUTF8_subarray_buffer x 3,945,326 ops/sec ±0.29% (97 runs sampled) toUTF8_no_latin x 6,209,200 ops/sec ±0.17% (93 runs sampled) Input buffer len: 800, start: 20 end: 39, stringLen: 19 Fastest to slowest is do_nothing, toUTF8_push_array, toUTF8_no_latin, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98564 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,393,856 ops/sec ±0.07% (88 runs sampled) toUTF8_assign_array x 3,242,900 ops/sec ±0.17% (98 runs sampled) toUTF8_push_array x 6,173,206 ops/sec ±0.53% (91 runs sampled) toUTF8_rope_string x 4,806,534 ops/sec ±0.10% (92 runs sampled) toUTF8_alloc_array x 3,234,323 ops/sec ±0.21% (97 runs sampled) toUTF8_slice_buffer x 610,251 ops/sec ±0.10% (99 runs sampled) toUTF8_subarray_buffer x 3,863,361 ops/sec ±0.71% (97 runs sampled) toUTF8_no_latin x 7,001,747 ops/sec ±0.15% (95 runs sampled) Input buffer len: 800, start: 20 end: 40, stringLen: 20 Fastest to slowest is do_nothing, toUTF8_no_latin, toUTF8_push_array, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98571 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,799,249 ops/sec ±0.07% (88 runs sampled) toUTF8_assign_array x 3,210,660 ops/sec ±0.34% (98 runs sampled) toUTF8_push_array x 6,153,725 ops/sec ±0.58% (96 runs sampled) toUTF8_rope_string x 4,647,878 ops/sec ±0.12% (98 runs sampled) toUTF8_alloc_array x 3,186,570 ops/sec ±0.26% (95 runs sampled) toUTF8_slice_buffer x 584,591 ops/sec ±0.11% (100 runs sampled) toUTF8_subarray_buffer x 3,722,129 ops/sec ±0.17% (99 runs sampled) toUTF8_no_latin x 6,924,140 ops/sec ±0.13% (96 runs sampled) Input buffer len: 800, start: 20 end: 41, stringLen: 21 Fastest to slowest is do_nothing, toUTF8_no_latin, toUTF8_push_array, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer PID: 98578 Node.js v20.10.0 OS: linux CPUs: 16 Arch: x64 RAM: 66.609168384 GB do_nothing x 603,675,322 ops/sec ±0.07% (92 runs sampled) toUTF8_assign_array x 3,158,629 ops/sec ±0.18% (94 runs sampled) toUTF8_push_array x 5,955,549 ops/sec ±0.53% (94 runs sampled) toUTF8_rope_string x 4,474,995 ops/sec ±0.82% (94 runs sampled) toUTF8_alloc_array x 3,127,492 ops/sec ±0.16% (91 runs sampled) toUTF8_slice_buffer x 562,320 ops/sec ±0.10% (96 runs sampled) toUTF8_subarray_buffer x 3,723,549 ops/sec ±0.31% (96 runs sampled) toUTF8_no_latin x 6,916,399 ops/sec ±0.42% (93 runs sampled) Input buffer len: 800, start: 20 end: 42, stringLen: 22 Fastest to slowest is do_nothing, toUTF8_no_latin, toUTF8_push_array, toUTF8_rope_string, toUTF8_subarray_buffer, toUTF8_assign_array, toUTF8_alloc_array, toUTF8_slice_buffer