Skip to content

Instantly share code, notes, and snippets.

@ScottPJones
Created June 3, 2015 08:27
Show Gist options
  • Save ScottPJones/983e7d284bb001a5645b to your computer and use it in GitHub Desktop.
Save ScottPJones/983e7d284bb001a5645b to your computer and use it in GitHub Desktop.
Latest results, with @inbounds
ASCII: Looping 1000 times, length=8
length: 2.715 microseconds
is_valid_ascii: 150.964 milliseconds (56000 allocations: 613 MB, 10.07% gc time)
Convert to UTF-8: 19.096 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 85.436 microseconds (2000 allocations: 109 KB)
Convert to UTF-32: 95.890 microseconds (2000 allocations: 125 KB)
ASCII:: Looping 1000 times, length=8
UTF-8: 8, UTF-16: 16, UTF-32: 32
UTF-8 length: 16.868 microseconds
UTF-16 length: 20.469 microseconds
UTF-32 length: 2.398 microseconds
UTF-8 valid: 137.724 milliseconds (56000 allocations: 613 MB, 4.12% gc time)
UTF-16 valid: 143.597 milliseconds (56000 allocations: 613 MB, 4.24% gc time)
UTF-32 valid: 137.106 milliseconds (56000 allocations: 613 MB, 4.11% gc time)
UTF-8 convert to UTF-16: 93.237 microseconds (2000 allocations: 109 KB)
UTF-8 convert to UTF-32: 107.808 microseconds (2000 allocations: 125 KB)
UTF-16 convert to UTF-8: 101.153 microseconds (2000 allocations: 96000 bytes)
UTF-16 convert to UTF-32: 98.345 microseconds (2000 allocations: 125 KB)
UTF-32 convert to UTF-8: 138.303 microseconds (4000 allocations: 172 KB)
UTF-32 convert to UTF-16: 151.517 microseconds (4000 allocations: 188 KB)
Latin1:: Looping 1000 times, length=8
UTF-8: 10, UTF-16: 16, UTF-32: 32
UTF-8 length: 8.092 microseconds
UTF-16 length: 9.911 microseconds
UTF-32 length: 2.438 microseconds
UTF-8 valid: 141.549 milliseconds (56000 allocations: 613 MB, 4.37% gc time)
UTF-16 valid: 136.777 milliseconds (56000 allocations: 613 MB, 4.07% gc time)
UTF-32 valid: 143.063 milliseconds (56000 allocations: 613 MB, 4.08% gc time)
UTF-8 convert to UTF-16: 97.148 microseconds (2000 allocations: 109 KB)
UTF-8 convert to UTF-32: 107.651 microseconds (2000 allocations: 125 KB)
UTF-16 convert to UTF-8: 103.545 microseconds (2000 allocations: 96000 bytes)
UTF-16 convert to UTF-32: 99.305 microseconds (2000 allocations: 125 KB)
UTF-32 convert to UTF-8: 151.023 microseconds (4000 allocations: 172 KB)
UTF-32 convert to UTF-16: 142.724 microseconds (4000 allocations: 188 KB)
2-byte:: Looping 1000 times, length=8
UTF-8: 12, UTF-16: 16, UTF-32: 32
UTF-8 length: 10.038 microseconds
UTF-16 length: 9.954 microseconds
UTF-32 length: 2.444 microseconds
UTF-8 valid: 137.838 milliseconds (56000 allocations: 613 MB, 4.21% gc time)
UTF-16 valid: 136.873 milliseconds (56000 allocations: 613 MB, 3.97% gc time)
UTF-32 valid: 149.204 milliseconds (56000 allocations: 613 MB, 4.28% gc time)
UTF-8 convert to UTF-16: 122.940 microseconds (2000 allocations: 109 KB)
UTF-8 convert to UTF-32: 148.557 microseconds (2000 allocations: 125 KB)
UTF-16 convert to UTF-8: 126.487 microseconds (2000 allocations: 96000 bytes)
UTF-16 convert to UTF-32: 123.056 microseconds (2000 allocations: 125 KB)
UTF-32 convert to UTF-8: 147.733 microseconds (4000 allocations: 172 KB)
UTF-32 convert to UTF-16: 156.839 microseconds (4000 allocations: 188 KB)
3-byte:: Looping 1000 times, length=8
UTF-8: 14, UTF-16: 16, UTF-32: 32
UTF-8 length: 12.275 microseconds
UTF-16 length: 9.948 microseconds
UTF-32 length: 2.526 microseconds
UTF-8 valid: 143.313 milliseconds (56000 allocations: 613 MB, 4.50% gc time)
UTF-16 valid: 138.712 milliseconds (56000 allocations: 613 MB, 4.00% gc time)
UTF-32 valid: 139.504 milliseconds (56000 allocations: 613 MB, 4.22% gc time)
UTF-8 convert to UTF-16: 106.639 microseconds (2000 allocations: 109 KB)
UTF-8 convert to UTF-32: 128.238 microseconds (2000 allocations: 125 KB)
UTF-16 convert to UTF-8: 120.861 microseconds (2000 allocations: 96000 bytes)
UTF-16 convert to UTF-32: 99.795 microseconds (2000 allocations: 125 KB)
UTF-32 convert to UTF-8: 157.559 microseconds (4000 allocations: 172 KB)
UTF-32 convert to UTF-16: 134.664 microseconds (4000 allocations: 188 KB)
4-byte:: Looping 1000 times, length=8
UTF-8: 15, UTF-16: 18, UTF-32: 32
UTF-8 length: 33.034 microseconds
UTF-16 length: 20.607 microseconds
UTF-32 length: 2.468 microseconds
UTF-8 valid: 138.427 milliseconds (56000 allocations: 613 MB, 4.15% gc time)
UTF-16 valid: 137.232 milliseconds (56000 allocations: 613 MB, 4.14% gc time)
UTF-32 valid: 137.570 milliseconds (56000 allocations: 613 MB, 4.06% gc time)
UTF-8 convert to UTF-16: 106.260 microseconds (2000 allocations: 109 KB)
UTF-8 convert to UTF-32: 130.945 microseconds (2000 allocations: 125 KB)
UTF-16 convert to UTF-8: 122.998 microseconds (2000 allocations: 96000 bytes)
UTF-16 convert to UTF-32: 99.912 microseconds (2000 allocations: 125 KB)
UTF-32 convert to UTF-8: 156.859 microseconds (4000 allocations: 172 KB)
UTF-32 convert to UTF-16: 160.104 microseconds (4000 allocations: 188 KB)
Surrogates:: Looping 1000 times, length=8
UTF-8: 17, UTF-16: 18, UTF-32: 32
UTF-8 length: 10.854 microseconds
UTF-16 length: 10.742 microseconds
UTF-32 length: 2.437 microseconds
UTF-8 valid: 142.102 milliseconds (56000 allocations: 613 MB, 4.03% gc time)
UTF-16 valid: 138.363 milliseconds (56000 allocations: 613 MB, 4.00% gc time)
UTF-32 valid: 137.674 milliseconds (56000 allocations: 613 MB, 3.94% gc time)
UTF-8 convert to UTF-16: 118.067 microseconds (2000 allocations: 109 KB)
UTF-8 convert to UTF-32: 143.620 microseconds (2000 allocations: 125 KB)
UTF-16 convert to UTF-8: 123.945 microseconds (2000 allocations: 96000 bytes)
UTF-16 convert to UTF-32: 98.836 microseconds (2000 allocations: 125 KB)
UTF-32 convert to UTF-8: 168.691 microseconds (4000 allocations: 172 KB)
UTF-32 convert to UTF-16: 161.955 microseconds (4000 allocations: 188 KB)
ASCII: Looping 1000 times, length=64
length: 2.450 microseconds
is_valid_ascii: 135.062 milliseconds (56000 allocations: 613 MB, 4.32% gc time)
Convert to UTF-8: 8.718 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 94.410 microseconds (2000 allocations: 219 KB)
Convert to UTF-32: 98.616 microseconds (2000 allocations: 406 KB)
ASCII:: Looping 1000 times, length=64
UTF-8: 64, UTF-16: 128, UTF-32: 256
UTF-8 length: 18.524 microseconds
UTF-16 length: 17.600 microseconds
UTF-32 length: 2.435 microseconds
UTF-8 valid: 143.132 milliseconds (56000 allocations: 613 MB, 4.18% gc time)
UTF-16 valid: 139.254 milliseconds (56000 allocations: 613 MB, 4.20% gc time)
UTF-32 valid: 138.412 milliseconds (56000 allocations: 613 MB, 4.10% gc time)
UTF-8 convert to UTF-16: 102.509 microseconds (2000 allocations: 219 KB)
UTF-8 convert to UTF-32: 393.012 microseconds (2000 allocations: 406 KB, 65.07% gc time)
UTF-16 convert to UTF-8: 179.791 microseconds (2000 allocations: 156 KB)
UTF-16 convert to UTF-32: 178.167 microseconds (2000 allocations: 406 KB)
UTF-32 convert to UTF-8: 240.631 microseconds (4000 allocations: 234 KB)
UTF-32 convert to UTF-16: 216.787 microseconds (4000 allocations: 297 KB)
Latin1:: Looping 1000 times, length=64
UTF-8: 84, UTF-16: 128, UTF-32: 256
UTF-8 length: 45.283 microseconds
UTF-16 length: 17.602 microseconds
UTF-32 length: 2.447 microseconds
UTF-8 valid: 144.276 milliseconds (56000 allocations: 613 MB, 4.11% gc time)
UTF-16 valid: 151.244 milliseconds (56000 allocations: 613 MB, 3.99% gc time)
UTF-32 valid: 139.863 milliseconds (56000 allocations: 613 MB, 4.12% gc time)
UTF-8 convert to UTF-16: 259.768 microseconds (2000 allocations: 219 KB)
UTF-8 convert to UTF-32: 268.545 microseconds (2000 allocations: 406 KB)
UTF-16 convert to UTF-8: 306.832 microseconds (2000 allocations: 172 KB)
UTF-16 convert to UTF-32: 241.902 microseconds (2000 allocations: 406 KB)
UTF-32 convert to UTF-8: 293.243 microseconds (4000 allocations: 250 KB)
UTF-32 convert to UTF-16: 253.908 microseconds (4000 allocations: 297 KB)
2-byte:: Looping 1000 times, length=64
UTF-8: 84, UTF-16: 128, UTF-32: 256
UTF-8 length: 45.437 microseconds
UTF-16 length: 17.623 microseconds
UTF-32 length: 2.436 microseconds
UTF-8 valid: 138.137 milliseconds (56000 allocations: 613 MB, 4.29% gc time)
UTF-16 valid: 149.918 milliseconds (56000 allocations: 613 MB, 4.23% gc time)
UTF-32 valid: 143.120 milliseconds (56000 allocations: 613 MB, 4.24% gc time)
UTF-8 convert to UTF-16: 274.873 microseconds (2000 allocations: 219 KB)
UTF-8 convert to UTF-32: 310.170 microseconds (2000 allocations: 406 KB)
UTF-16 convert to UTF-8: 288.685 microseconds (2000 allocations: 172 KB)
UTF-16 convert to UTF-32: 232.992 microseconds (2000 allocations: 406 KB)
UTF-32 convert to UTF-8: 278.222 microseconds (4000 allocations: 250 KB)
UTF-32 convert to UTF-16: 242.278 microseconds (4000 allocations: 297 KB)
3-byte:: Looping 1000 times, length=64
UTF-8: 92, UTF-16: 128, UTF-32: 256
UTF-8 length: 29.200 microseconds
UTF-16 length: 17.612 microseconds
UTF-32 length: 2.437 microseconds
UTF-8 valid: 138.916 milliseconds (56000 allocations: 613 MB, 4.18% gc time)
UTF-16 valid: 144.517 milliseconds (56000 allocations: 613 MB, 4.12% gc time)
UTF-32 valid: 143.604 milliseconds (56000 allocations: 613 MB, 4.05% gc time)
UTF-8 convert to UTF-16: 292.548 microseconds (2000 allocations: 219 KB)
UTF-8 convert to UTF-32: 318.417 microseconds (2000 allocations: 406 KB)
UTF-16 convert to UTF-8: 304.944 microseconds (2000 allocations: 172 KB)
UTF-16 convert to UTF-32: 229.949 microseconds (2000 allocations: 406 KB)
UTF-32 convert to UTF-8: 291.752 microseconds (4000 allocations: 250 KB)
UTF-32 convert to UTF-16: 242.402 microseconds (4000 allocations: 297 KB)
4-byte:: Looping 1000 times, length=64
UTF-8: 104, UTF-16: 144, UTF-32: 256
UTF-8 length: 47.027 microseconds
UTF-16 length: 23.460 microseconds
UTF-32 length: 2.439 microseconds
UTF-8 valid: 138.964 milliseconds (56000 allocations: 613 MB, 4.31% gc time)
UTF-16 valid: 143.358 milliseconds (56000 allocations: 613 MB, 4.14% gc time)
UTF-32 valid: 148.225 milliseconds (56000 allocations: 613 MB, 4.01% gc time)
UTF-8 convert to UTF-16: 321.900 microseconds (2000 allocations: 234 KB)
UTF-8 convert to UTF-32: 320.165 microseconds (2000 allocations: 406 KB)
UTF-16 convert to UTF-8: 316.363 microseconds (2000 allocations: 188 KB)
UTF-16 convert to UTF-32: 263.607 microseconds (2000 allocations: 406 KB)
UTF-32 convert to UTF-8: 304.006 microseconds (4000 allocations: 266 KB)
UTF-32 convert to UTF-16: 312.026 microseconds (4000 allocations: 313 KB)
Surrogates:: Looping 1000 times, length=64
UTF-8: 120, UTF-16: 144, UTF-32: 256
UTF-8 length: 50.972 microseconds
UTF-16 length: 43.016 microseconds
UTF-32 length: 11.783 microseconds
UTF-8 valid: 145.894 milliseconds (56000 allocations: 613 MB, 4.32% gc time)
UTF-16 valid: 137.442 milliseconds (56000 allocations: 613 MB, 4.25% gc time)
UTF-32 valid: 157.970 milliseconds (56000 allocations: 613 MB, 4.33% gc time)
UTF-8 convert to UTF-16: 339.831 microseconds (2000 allocations: 234 KB)
UTF-8 convert to UTF-32: 351.141 microseconds (2000 allocations: 406 KB)
UTF-16 convert to UTF-8: 347.741 microseconds (2000 allocations: 188 KB)
UTF-16 convert to UTF-32: 246.610 microseconds (2000 allocations: 406 KB)
UTF-32 convert to UTF-8: 282.492 microseconds (4000 allocations: 266 KB)
UTF-32 convert to UTF-16: 256.618 microseconds (4000 allocations: 313 KB)
ASCII: Looping 1000 times, length=256
length: 2.737 microseconds
is_valid_ascii: 143.045 milliseconds (56000 allocations: 613 MB, 4.52% gc time)
Convert to UTF-8: 7.091 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 133.105 microseconds (2000 allocations: 625 KB)
Convert to UTF-32: 208.246 microseconds (2000 allocations: 1156 KB)
ASCII:: Looping 1000 times, length=256
UTF-8: 256, UTF-16: 512, UTF-32: 1024
UTF-8 length: 63.887 microseconds
UTF-16 length: 58.282 microseconds
UTF-32 length: 2.442 microseconds
UTF-8 valid: 139.506 milliseconds (56000 allocations: 613 MB, 4.28% gc time)
UTF-16 valid: 142.267 milliseconds (56000 allocations: 613 MB, 4.38% gc time)
UTF-32 valid: 139.723 milliseconds (56000 allocations: 613 MB, 4.30% gc time)
UTF-8 convert to UTF-16: 502.019 microseconds (2000 allocations: 625 KB)
UTF-8 convert to UTF-32: 601.840 microseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-8: 498.390 microseconds (2000 allocations: 406 KB)
UTF-16 convert to UTF-32: 567.274 microseconds (2000 allocations: 1156 KB)
UTF-32 convert to UTF-8: 526.146 microseconds (4000 allocations: 484 KB)
UTF-32 convert to UTF-16: 545.489 microseconds (4000 allocations: 703 KB)
Latin1:: Looping 1000 times, length=256
UTF-8: 336, UTF-16: 512, UTF-32: 1024
UTF-8 length: 109.778 microseconds
UTF-16 length: 78.919 microseconds
UTF-32 length: 3.300 microseconds
UTF-8 valid: 176.719 milliseconds (56000 allocations: 613 MB, 4.34% gc time)
UTF-16 valid: 170.304 milliseconds (56000 allocations: 613 MB, 4.76% gc time)
UTF-32 valid: 175.773 milliseconds (56000 allocations: 613 MB, 4.49% gc time)
UTF-8 convert to UTF-16: 1.139 milliseconds (2000 allocations: 625 KB)
UTF-8 convert to UTF-32: 1.025 milliseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-8: 849.340 microseconds (2000 allocations: 453 KB)
UTF-16 convert to UTF-32: 492.510 microseconds (2000 allocations: 1156 KB)
UTF-32 convert to UTF-8: 953.034 microseconds (4000 allocations: 531 KB)
UTF-32 convert to UTF-16: 513.951 microseconds (4000 allocations: 703 KB)
2-byte:: Looping 1000 times, length=256
UTF-8: 336, UTF-16: 512, UTF-32: 1024
UTF-8 length: 83.621 microseconds
UTF-16 length: 60.721 microseconds
UTF-32 length: 2.510 microseconds
UTF-8 valid: 146.957 milliseconds (56000 allocations: 613 MB, 4.66% gc time)
UTF-16 valid: 138.986 milliseconds (56000 allocations: 613 MB, 4.38% gc time)
UTF-32 valid: 146.246 milliseconds (56000 allocations: 613 MB, 4.55% gc time)
UTF-8 convert to UTF-16: 747.102 microseconds (2000 allocations: 625 KB)
UTF-8 convert to UTF-32: 759.746 microseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-8: 769.964 microseconds (2000 allocations: 453 KB)
UTF-16 convert to UTF-32: 526.624 microseconds (2000 allocations: 1156 KB)
UTF-32 convert to UTF-8: 748.589 microseconds (4000 allocations: 531 KB)
UTF-32 convert to UTF-16: 563.298 microseconds (4000 allocations: 703 KB)
3-byte:: Looping 1000 times, length=256
UTF-8: 368, UTF-16: 512, UTF-32: 1024
UTF-8 length: 137.466 microseconds
UTF-16 length: 97.415 microseconds
UTF-32 length: 2.371 microseconds
UTF-8 valid: 148.144 milliseconds (56000 allocations: 613 MB, 4.74% gc time)
UTF-16 valid: 138.301 milliseconds (56000 allocations: 613 MB, 4.63% gc time)
UTF-32 valid: 147.305 milliseconds (56000 allocations: 613 MB, 4.49% gc time)
UTF-8 convert to UTF-16: 809.011 microseconds (2000 allocations: 625 KB)
UTF-8 convert to UTF-32: 886.967 microseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-8: 914.294 microseconds (2000 allocations: 453 KB)
UTF-16 convert to UTF-32: 576.859 microseconds (2000 allocations: 1156 KB)
UTF-32 convert to UTF-8: 738.015 microseconds (4000 allocations: 531 KB)
UTF-32 convert to UTF-16: 541.269 microseconds (4000 allocations: 703 KB)
4-byte:: Looping 1000 times, length=256
UTF-8: 416, UTF-16: 576, UTF-32: 1024
UTF-8 length: 158.187 microseconds
UTF-16 length: 75.297 microseconds
UTF-32 length: 12.942 microseconds
UTF-8 valid: 140.164 milliseconds (56000 allocations: 613 MB, 4.66% gc time)
UTF-16 valid: 145.852 milliseconds (56000 allocations: 613 MB, 4.45% gc time)
UTF-32 valid: 143.075 milliseconds (56000 allocations: 613 MB, 4.57% gc time)
UTF-8 convert to UTF-16: 1.136 milliseconds (2000 allocations: 672 KB)
UTF-8 convert to UTF-32: 846.653 microseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-8: 1.145 milliseconds (2000 allocations: 547 KB)
UTF-16 convert to UTF-32: 690.918 microseconds (2000 allocations: 1156 KB)
UTF-32 convert to UTF-8: 957.298 microseconds (4000 allocations: 625 KB)
UTF-32 convert to UTF-16: 943.746 microseconds (4000 allocations: 750 KB)
Surrogates:: Looping 1000 times, length=256
UTF-8: 480, UTF-16: 576, UTF-32: 1024
UTF-8 length: 182.237 microseconds
UTF-16 length: 104.271 microseconds
UTF-32 length: 2.379 microseconds
UTF-8 valid: 146.800 milliseconds (56000 allocations: 613 MB, 4.85% gc time)
UTF-16 valid: 140.381 milliseconds (56000 allocations: 613 MB, 4.80% gc time)
UTF-32 valid: 140.737 milliseconds (56000 allocations: 613 MB, 4.76% gc time)
UTF-8 convert to UTF-16: 968 microseconds (2000 allocations: 672 KB)
UTF-8 convert to UTF-32: 934.138 microseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-8: 890.534 microseconds (2000 allocations: 547 KB)
UTF-16 convert to UTF-32: 674.606 microseconds (2000 allocations: 1156 KB)
UTF-32 convert to UTF-8: 786.447 microseconds (4000 allocations: 625 KB)
UTF-32 convert to UTF-16: 723.117 microseconds (4000 allocations: 750 KB)
ASCII: Looping 1000 times, length=1024
length: 5.888 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 138.798 milliseconds (56000 allocations: 613 MB, 4.96% gc time)
Convert to UTF-8: 7.695 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 378.059 microseconds (1000 allocations: 2109 KB)
Convert to UTF-32: 1.858 milliseconds (1000 allocations: 4109 KB)
ASCII:: Looping 1000 times, length=1024
UTF-8: 1024, UTF-16: 2048, UTF-32: 4096
UTF-8 length: 308.951 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 290.936 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 17.526 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 157.300 milliseconds (56000 allocations: 613 MB, 5.36% gc time)
UTF-16 valid: 148.603 milliseconds (56000 allocations: 613 MB, 4.74% gc time)
UTF-32 valid: 150.753 milliseconds (56000 allocations: 613 MB, 4.59% gc time)
UTF-8 convert to UTF-16: 1.299 milliseconds (1000 allocations: 2109 KB, 24.61% gc time)
UTF-8 convert to UTF-32: 2.404 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-8: 1.205 milliseconds (2000 allocations: 1156 KB)
UTF-16 convert to UTF-32: 2.352 milliseconds (1000 allocations: 4109 KB)
UTF-32 convert to UTF-8: 1.233 milliseconds (4000 allocations: 1234 KB)
UTF-32 convert to UTF-16: 1.266 milliseconds (3000 allocations: 2188 KB)
Latin1:: Looping 1000 times, length=1024
UTF-8: 1344, UTF-16: 2048, UTF-32: 4096
UTF-8 length: 373.860 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 290.328 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 19.028 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 148.304 milliseconds (56000 allocations: 613 MB, 5.37% gc time)
UTF-16 valid: 138.283 milliseconds (56000 allocations: 613 MB, 4.61% gc time)
UTF-32 valid: 146.454 milliseconds (56000 allocations: 613 MB, 4.76% gc time)
UTF-8 convert to UTF-16: 2.931 milliseconds (1000 allocations: 2109 KB, 9.61% gc time)
UTF-8 convert to UTF-32: 4.520 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-8: 3.120 milliseconds (2000 allocations: 1469 KB)
UTF-16 convert to UTF-32: 1.969 milliseconds (1000 allocations: 4109 KB)
UTF-32 convert to UTF-8: 3.104 milliseconds (4000 allocations: 1547 KB)
UTF-32 convert to UTF-16: 2.059 milliseconds (3000 allocations: 2188 KB)
2-byte:: Looping 1000 times, length=1024
UTF-8: 1344, UTF-16: 2048, UTF-32: 4096
UTF-8 length: 373.415 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 289.431 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 16.840 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 148.057 milliseconds (56000 allocations: 613 MB, 6.49% gc time)
UTF-16 valid: 146.248 milliseconds (56000 allocations: 613 MB, 4.86% gc time)
UTF-32 valid: 144.131 milliseconds (56000 allocations: 613 MB, 4.97% gc time)
UTF-8 convert to UTF-16: 3.145 milliseconds (1000 allocations: 2109 KB)
UTF-8 convert to UTF-32: 2.708 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-8: 2.814 milliseconds (2000 allocations: 1469 KB)
UTF-16 convert to UTF-32: 2.438 milliseconds (1000 allocations: 4109 KB)
UTF-32 convert to UTF-8: 2.656 milliseconds (4000 allocations: 1547 KB)
UTF-32 convert to UTF-16: 1.822 milliseconds (3000 allocations: 2188 KB)
3-byte:: Looping 1000 times, length=1024
UTF-8: 1472, UTF-16: 2048, UTF-32: 4096
UTF-8 length: 410.721 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 289.631 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 15.469 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 155.653 milliseconds (56000 allocations: 613 MB, 5.75% gc time)
UTF-16 valid: 145.108 milliseconds (56000 allocations: 613 MB, 4.71% gc time)
UTF-32 valid: 144.704 milliseconds (56000 allocations: 613 MB, 4.94% gc time)
UTF-8 convert to UTF-16: 3.510 milliseconds (1000 allocations: 2109 KB)
UTF-8 convert to UTF-32: 4.842 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-8: 3.974 milliseconds (2000 allocations: 1609 KB)
UTF-16 convert to UTF-32: 2.434 milliseconds (1000 allocations: 4109 KB)
UTF-32 convert to UTF-8: 3.169 milliseconds (4000 allocations: 1688 KB)
UTF-32 convert to UTF-16: 2.386 milliseconds (3000 allocations: 2188 KB)
4-byte:: Looping 1000 times, length=1024
UTF-8: 1664, UTF-16: 2304, UTF-32: 4096
UTF-8 length: 449.106 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 306.038 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 5.135 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 141.963 milliseconds (56000 allocations: 613 MB, 6.14% gc time)
UTF-16 valid: 145.857 milliseconds (56000 allocations: 613 MB, 4.93% gc time)
UTF-32 valid: 139.675 milliseconds (56000 allocations: 613 MB, 4.96% gc time)
UTF-8 convert to UTF-16: 3.257 milliseconds (1000 allocations: 2359 KB)
UTF-8 convert to UTF-32: 4.276 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-8: 4.275 milliseconds (2000 allocations: 1781 KB)
UTF-16 convert to UTF-32: 3.627 milliseconds (1000 allocations: 4109 KB)
UTF-32 convert to UTF-8: 3.288 milliseconds (4000 allocations: 1859 KB)
UTF-32 convert to UTF-16: 2.400 milliseconds (3000 allocations: 2438 KB)
Surrogates:: Looping 1000 times, length=1024
UTF-8: 1920, UTF-16: 2304, UTF-32: 4096
UTF-8 length: 850.984 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 592.634 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 7.749 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 140.213 milliseconds (56000 allocations: 613 MB, 6.01% gc time)
UTF-16 valid: 151.848 milliseconds (56000 allocations: 613 MB, 5.16% gc time)
UTF-32 valid: 150.367 milliseconds (56000 allocations: 613 MB, 5.29% gc time)
UTF-8 convert to UTF-16: 3.652 milliseconds (1000 allocations: 2359 KB)
UTF-8 convert to UTF-32: 3.374 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-8: 3.674 milliseconds (2000 allocations: 1781 KB)
UTF-16 convert to UTF-32: 3.494 milliseconds (1000 allocations: 4109 KB)
UTF-32 convert to UTF-8: 2.973 milliseconds (4000 allocations: 1859 KB)
UTF-32 convert to UTF-16: 2.547 milliseconds (3000 allocations: 2438 KB)
ASCII: Looping 1000 times, length=4096
length: 9.224 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 144.008 milliseconds (56000 allocations: 613 MB, 6.21% gc time)
Convert to UTF-8: 19.825 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 1.393 milliseconds (1000 allocations: 8109 KB, 33.37% gc time)
Convert to UTF-32: 3.964 milliseconds (3000 allocations: 16094 KB)
ASCII:: Looping 1000 times, length=4096
UTF-8: 4096, UTF-16: 8192, UTF-32: 16384
UTF-8 length: 925.807 microseconds (1000 allocations: 16000 bytes)
UTF-16 length: 885.956 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 18.439 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 154.695 milliseconds (56000 allocations: 613 MB, 6.35% gc time)
UTF-16 valid: 147.048 milliseconds (56000 allocations: 613 MB, 5.15% gc time)
UTF-32 valid: 153.733 milliseconds (56000 allocations: 613 MB, 5.39% gc time)
UTF-8 convert to UTF-16: 3.001 milliseconds (1000 allocations: 8109 KB)
UTF-8 convert to UTF-32: 6.421 milliseconds (3000 allocations: 16094 KB, 19.36% gc time)
UTF-16 convert to UTF-8: 4.739 milliseconds (1000 allocations: 4109 KB)
UTF-16 convert to UTF-32: 5.576 milliseconds (3000 allocations: 16094 KB, 23.86% gc time)
UTF-32 convert to UTF-8: 4.384 milliseconds (3000 allocations: 4188 KB)
UTF-32 convert to UTF-16: 5.144 milliseconds (3000 allocations: 8188 KB)
Latin1:: Looping 1000 times, length=4096
UTF-8: 5376, UTF-16: 8192, UTF-32: 16384
UTF-8 length: 1.181 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 907.134 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 19.104 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 157.102 milliseconds (56000 allocations: 613 MB, 6.14% gc time)
UTF-16 valid: 149.283 milliseconds (56000 allocations: 613 MB, 5.18% gc time)
UTF-32 valid: 148.062 milliseconds (56000 allocations: 613 MB, 5.08% gc time)
UTF-8 convert to UTF-16: 9.726 milliseconds (1000 allocations: 8109 KB)
UTF-8 convert to UTF-32: 13.724 milliseconds (3000 allocations: 16094 KB, 13.37% gc time)
UTF-16 convert to UTF-8: 10.653 milliseconds (1000 allocations: 5359 KB)
UTF-16 convert to UTF-32: 10.724 milliseconds (3000 allocations: 16094 KB, 15.49% gc time)
UTF-32 convert to UTF-8: 9.999 milliseconds (3000 allocations: 5438 KB)
UTF-32 convert to UTF-16: 7.641 milliseconds (3000 allocations: 8188 KB)
2-byte:: Looping 1000 times, length=4096
UTF-8: 5376, UTF-16: 8192, UTF-32: 16384
UTF-8 length: 1.174 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 942.554 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 18.786 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 152.102 milliseconds (56000 allocations: 613 MB, 6.10% gc time)
UTF-16 valid: 142.570 milliseconds (56000 allocations: 613 MB, 5.10% gc time)
UTF-32 valid: 150.712 milliseconds (56000 allocations: 613 MB, 5.07% gc time)
UTF-8 convert to UTF-16: 10.610 milliseconds (1000 allocations: 8109 KB)
UTF-8 convert to UTF-32: 16.531 milliseconds (3000 allocations: 16094 KB, 19.88% gc time)
UTF-16 convert to UTF-8: 13.218 milliseconds (1000 allocations: 5359 KB)
UTF-16 convert to UTF-32: 10.422 milliseconds (3000 allocations: 16094 KB, 15.59% gc time)
UTF-32 convert to UTF-8: 10.690 milliseconds (3000 allocations: 5438 KB)
UTF-32 convert to UTF-16: 7.497 milliseconds (3000 allocations: 8188 KB)
3-byte:: Looping 1000 times, length=4096
UTF-8: 5888, UTF-16: 8192, UTF-32: 16384
UTF-8 length: 1.320 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 952.514 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 19.513 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 146.691 milliseconds (56000 allocations: 613 MB, 6.35% gc time)
UTF-16 valid: 150.508 milliseconds (56000 allocations: 613 MB, 5.15% gc time)
UTF-32 valid: 148.728 milliseconds (56000 allocations: 613 MB, 5.46% gc time)
UTF-8 convert to UTF-16: 13.679 milliseconds (1000 allocations: 8109 KB)
UTF-8 convert to UTF-32: 15.011 milliseconds (3000 allocations: 16094 KB, 11.74% gc time)
UTF-16 convert to UTF-8: 15.822 milliseconds (1000 allocations: 5859 KB)
UTF-16 convert to UTF-32: 12.344 milliseconds (3000 allocations: 16094 KB, 13.08% gc time)
UTF-32 convert to UTF-8: 10.621 milliseconds (3000 allocations: 5938 KB)
UTF-32 convert to UTF-16: 7.297 milliseconds (3000 allocations: 8188 KB)
4-byte:: Looping 1000 times, length=4096
UTF-8: 6656, UTF-16: 9216, UTF-32: 16384
UTF-8 length: 1.586 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 997.205 microseconds (1000 allocations: 16000 bytes)
UTF-32 length: 19.080 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 150.065 milliseconds (56000 allocations: 613 MB, 6.33% gc time)
UTF-16 valid: 148.574 milliseconds (56000 allocations: 613 MB, 5.24% gc time)
UTF-32 valid: 148.977 milliseconds (56000 allocations: 613 MB, 5.19% gc time)
UTF-8 convert to UTF-16: 12.608 milliseconds (1000 allocations: 9109 KB)
UTF-8 convert to UTF-32: 14.868 milliseconds (3000 allocations: 16094 KB, 12.09% gc time)
UTF-16 convert to UTF-8: 13.948 milliseconds (1000 allocations: 6609 KB)
UTF-16 convert to UTF-32: 13.163 milliseconds (3000 allocations: 16094 KB, 15.30% gc time)
UTF-32 convert to UTF-8: 11.369 milliseconds (3000 allocations: 6688 KB)
UTF-32 convert to UTF-16: 10.676 milliseconds (3000 allocations: 9188 KB)
Surrogates:: Looping 1000 times, length=4096
UTF-8: 7680, UTF-16: 9216, UTF-32: 16384
UTF-8 length: 1.774 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 1.012 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 18.754 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 151.280 milliseconds (56000 allocations: 613 MB, 7.13% gc time)
UTF-16 valid: 151.829 milliseconds (56000 allocations: 613 MB, 5.18% gc time)
UTF-32 valid: 156.728 milliseconds (56000 allocations: 613 MB, 5.26% gc time)
UTF-8 convert to UTF-16: 13.762 milliseconds (1000 allocations: 9109 KB)
UTF-8 convert to UTF-32: 15.596 milliseconds (3000 allocations: 16094 KB, 6.84% gc time)
UTF-16 convert to UTF-8: 14.045 milliseconds (1000 allocations: 6609 KB)
UTF-16 convert to UTF-32: 12.492 milliseconds (3000 allocations: 16094 KB, 15.67% gc time)
UTF-32 convert to UTF-8: 11.132 milliseconds (3000 allocations: 6688 KB)
UTF-32 convert to UTF-16: 11.797 milliseconds (3000 allocations: 9188 KB, 20.12% gc time)
ASCII: Looping 1000 times, length=16384
length: 11.341 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 147.221 milliseconds (56000 allocations: 613 MB, 5.23% gc time)
Convert to UTF-8: 7.460 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 7.163 milliseconds (3000 allocations: 32094 KB, 20.77% gc time)
Convert to UTF-32: 13.749 milliseconds (3000 allocations: 64094 KB, 30.84% gc time)
ASCII:: Looping 1000 times, length=16384
UTF-8: 16384, UTF-16: 32768, UTF-32: 65536
UTF-8 length: 4.218 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 3.607 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 10.445 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 148.904 milliseconds (56000 allocations: 613 MB, 5.21% gc time)
UTF-16 valid: 155.845 milliseconds (56000 allocations: 613 MB, 5.06% gc time)
UTF-32 valid: 159.623 milliseconds (56000 allocations: 613 MB, 5.67% gc time)
UTF-8 convert to UTF-16: 16.845 milliseconds (3000 allocations: 32094 KB, 16.42% gc time)
UTF-8 convert to UTF-32: 20.589 milliseconds (3000 allocations: 64094 KB, 13.78% gc time)
UTF-16 convert to UTF-8: 20.611 milliseconds (3000 allocations: 16094 KB, 8.55% gc time)
UTF-16 convert to UTF-32: 25.566 milliseconds (3000 allocations: 64094 KB, 22.62% gc time)
UTF-32 convert to UTF-8: 20.956 milliseconds (5000 allocations: 16172 KB, 9.81% gc time)
UTF-32 convert to UTF-16: 22.258 milliseconds (5000 allocations: 32172 KB, 8.46% gc time)
Latin1:: Looping 1000 times, length=16384
UTF-8: 21504, UTF-16: 32768, UTF-32: 65536
UTF-8 length: 4.645 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 3.363 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 8.994 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 158.043 milliseconds (56000 allocations: 613 MB, 5.46% gc time)
UTF-16 valid: 157.380 milliseconds (56000 allocations: 613 MB, 4.79% gc time)
UTF-32 valid: 156.083 milliseconds (56000 allocations: 613 MB, 5.15% gc time)
UTF-8 convert to UTF-16: 43.573 milliseconds (3000 allocations: 32094 KB, 4.53% gc time)
UTF-8 convert to UTF-32: 53.061 milliseconds (3000 allocations: 64094 KB, 10.46% gc time)
UTF-16 convert to UTF-8: 52.594 milliseconds (3000 allocations: 21094 KB, 4.24% gc time)
UTF-16 convert to UTF-32: 43.395 milliseconds (3000 allocations: 64094 KB, 10.97% gc time)
UTF-32 convert to UTF-8: 42.968 milliseconds (5000 allocations: 21172 KB, 5.04% gc time)
UTF-32 convert to UTF-16: 27.702 milliseconds (5000 allocations: 32172 KB, 6.90% gc time)
2-byte:: Looping 1000 times, length=16384
UTF-8: 21504, UTF-16: 32768, UTF-32: 65536
UTF-8 length: 4.610 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 3.545 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 9.591 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 159.316 milliseconds (56000 allocations: 613 MB, 5.53% gc time)
UTF-16 valid: 153.250 milliseconds (56000 allocations: 613 MB, 4.94% gc time)
UTF-32 valid: 160.109 milliseconds (56000 allocations: 613 MB, 5.10% gc time)
UTF-8 convert to UTF-16: 48.258 milliseconds (3000 allocations: 32094 KB, 5.40% gc time)
UTF-8 convert to UTF-32: 51.960 milliseconds (3000 allocations: 64094 KB, 9.47% gc time)
UTF-16 convert to UTF-8: 53 milliseconds (3000 allocations: 21094 KB, 3.92% gc time)
UTF-16 convert to UTF-32: 34.246 milliseconds (3000 allocations: 64094 KB, 8.66% gc time)
UTF-32 convert to UTF-8: 43.631 milliseconds (5000 allocations: 21172 KB, 3.11% gc time)
UTF-32 convert to UTF-16: 30.617 milliseconds (5000 allocations: 32172 KB, 12.46% gc time)
3-byte:: Looping 1000 times, length=16384
UTF-8: 23552, UTF-16: 32768, UTF-32: 65536
UTF-8 length: 6.230 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 3.495 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 8.180 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 166.833 milliseconds (56000 allocations: 613 MB, 4.88% gc time)
UTF-16 valid: 161.902 milliseconds (56000 allocations: 613 MB, 4.64% gc time)
UTF-32 valid: 148.207 milliseconds (56000 allocations: 613 MB, 4.92% gc time)
UTF-8 convert to UTF-16: 51.945 milliseconds (3000 allocations: 32094 KB, 4.84% gc time)
UTF-8 convert to UTF-32: 60.395 milliseconds (3000 allocations: 64094 KB, 7.00% gc time)
UTF-16 convert to UTF-8: 52.697 milliseconds (3000 allocations: 23094 KB, 6.86% gc time)
UTF-16 convert to UTF-32: 35.536 milliseconds (3000 allocations: 64094 KB, 8.86% gc time)
UTF-32 convert to UTF-8: 43.746 milliseconds (5000 allocations: 23172 KB, 4.61% gc time)
UTF-32 convert to UTF-16: 33.381 milliseconds (5000 allocations: 32172 KB, 13.08% gc time)
4-byte:: Looping 1000 times, length=16384
UTF-8: 26624, UTF-16: 36864, UTF-32: 65536
UTF-8 length: 5.633 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 3.775 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 8.920 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 161.107 milliseconds (56000 allocations: 613 MB, 5.24% gc time)
UTF-16 valid: 159.276 milliseconds (56000 allocations: 613 MB, 4.90% gc time)
UTF-32 valid: 152.077 milliseconds (56000 allocations: 613 MB, 4.86% gc time)
UTF-8 convert to UTF-16: 54.663 milliseconds (3000 allocations: 36094 KB, 5.50% gc time)
UTF-8 convert to UTF-32: 64.866 milliseconds (3000 allocations: 64094 KB, 11.42% gc time)
UTF-16 convert to UTF-8: 54.307 milliseconds (3000 allocations: 26094 KB, 3.73% gc time)
UTF-16 convert to UTF-32: 47.479 milliseconds (3000 allocations: 64094 KB, 10.00% gc time)
UTF-32 convert to UTF-8: 45.486 milliseconds (5000 allocations: 26172 KB, 4.14% gc time)
UTF-32 convert to UTF-16: 46.667 milliseconds (5000 allocations: 36172 KB, 3.76% gc time)
Surrogates:: Looping 1000 times, length=16384
UTF-8: 30720, UTF-16: 36864, UTF-32: 65536
UTF-8 length: 6.556 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 3.880 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 18.818 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 153.750 milliseconds (56000 allocations: 613 MB, 6.30% gc time)
UTF-16 valid: 168.918 milliseconds (56000 allocations: 613 MB, 4.66% gc time)
UTF-32 valid: 159.582 milliseconds (56000 allocations: 613 MB, 5.01% gc time)
UTF-8 convert to UTF-16: 60.958 milliseconds (3000 allocations: 36094 KB, 2.46% gc time)
UTF-8 convert to UTF-32: 67.781 milliseconds (3000 allocations: 64094 KB, 8.85% gc time)
UTF-16 convert to UTF-8: 57.353 milliseconds (3000 allocations: 26094 KB, 2.04% gc time)
UTF-16 convert to UTF-32: 49.815 milliseconds (3000 allocations: 64094 KB, 10.13% gc time)
UTF-32 convert to UTF-8: 45.974 milliseconds (5000 allocations: 26172 KB, 4.43% gc time)
UTF-32 convert to UTF-16: 44.639 milliseconds (5000 allocations: 36172 KB, 10.07% gc time)
ASCII: Looping 1000 times, length=65536
length: 11.152 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 178.055 milliseconds (56000 allocations: 613 MB, 5.44% gc time)
Convert to UTF-8: 9.407 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 54.926 milliseconds (3000 allocations: 125 MB, 14.89% gc time)
Convert to UTF-32: 92.908 milliseconds (3000 allocations: 250 MB, 12.43% gc time)
ASCII:: Looping 1000 times, length=65536
UTF-8: 65536, UTF-16: 131072, UTF-32: 262144
UTF-8 length: 13.925 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 13.443 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 20.436 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 182.217 milliseconds (56000 allocations: 613 MB, 5.08% gc time)
UTF-16 valid: 191.988 milliseconds (56000 allocations: 613 MB, 4.12% gc time)
UTF-32 valid: 179.054 milliseconds (56000 allocations: 613 MB, 4.24% gc time)
UTF-8 convert to UTF-16: 95.027 milliseconds (3000 allocations: 125 MB, 8.84% gc time)
UTF-8 convert to UTF-32: 130.033 milliseconds (3000 allocations: 250 MB, 10.35% gc time)
UTF-16 convert to UTF-8: 82.189 milliseconds (3000 allocations: 64094 KB, 4.24% gc time)
UTF-16 convert to UTF-32: 122.041 milliseconds (3000 allocations: 250 MB, 11.22% gc time)
UTF-32 convert to UTF-8: 83.037 milliseconds (5000 allocations: 64172 KB, 6.45% gc time)
UTF-32 convert to UTF-16: 120.944 milliseconds (5000 allocations: 125 MB, 6.80% gc time)
Latin1:: Looping 1000 times, length=65536
UTF-8: 86016, UTF-16: 131072, UTF-32: 262144
UTF-8 length: 19.295 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 13.373 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 8.973 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 195.785 milliseconds (56000 allocations: 613 MB, 4.72% gc time)
UTF-16 valid: 205.748 milliseconds (56000 allocations: 613 MB, 4.17% gc time)
UTF-32 valid: 225.962 milliseconds (56000 allocations: 613 MB, 3.97% gc time)
UTF-8 convert to UTF-16: 243.758 milliseconds (3000 allocations: 125 MB, 4.90% gc time)
UTF-8 convert to UTF-32: 281.123 milliseconds (3000 allocations: 250 MB, 7.14% gc time)
UTF-16 convert to UTF-8: 186.730 milliseconds (3000 allocations: 84094 KB, 3.23% gc time)
UTF-16 convert to UTF-32: 199.775 milliseconds (3000 allocations: 250 MB, 8.15% gc time)
UTF-32 convert to UTF-8: 171.327 milliseconds (5000 allocations: 84172 KB, 5.74% gc time)
UTF-32 convert to UTF-16: 150.614 milliseconds (5000 allocations: 125 MB, 5.62% gc time)
2-byte:: Looping 1000 times, length=65536
UTF-8: 86016, UTF-16: 131072, UTF-32: 262144
UTF-8 length: 18.148 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 13.370 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 9.480 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 198.125 milliseconds (56000 allocations: 613 MB, 5.06% gc time)
UTF-16 valid: 191.237 milliseconds (56000 allocations: 613 MB, 3.94% gc time)
UTF-32 valid: 183.769 milliseconds (56000 allocations: 613 MB, 4.24% gc time)
UTF-8 convert to UTF-16: 230.426 milliseconds (3000 allocations: 125 MB, 4.17% gc time)
UTF-8 convert to UTF-32: 265.449 milliseconds (3000 allocations: 250 MB, 6.77% gc time)
UTF-16 convert to UTF-8: 187.503 milliseconds (3000 allocations: 84094 KB, 3.90% gc time)
UTF-16 convert to UTF-32: 189.307 milliseconds (3000 allocations: 250 MB, 8.69% gc time)
UTF-32 convert to UTF-8: 180.412 milliseconds (5000 allocations: 84172 KB, 4.28% gc time)
UTF-32 convert to UTF-16: 168.806 milliseconds (5000 allocations: 125 MB, 6.14% gc time)
3-byte:: Looping 1000 times, length=65536
UTF-8: 94208, UTF-16: 131072, UTF-32: 262144
UTF-8 length: 20.877 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 14.070 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 14.220 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 203.782 milliseconds (56000 allocations: 613 MB, 4.85% gc time)
UTF-16 valid: 195.394 milliseconds (56000 allocations: 613 MB, 3.97% gc time)
UTF-32 valid: 181.139 milliseconds (56000 allocations: 613 MB, 4.29% gc time)
UTF-8 convert to UTF-16: 255.601 milliseconds (3000 allocations: 125 MB, 3.84% gc time)
UTF-8 convert to UTF-32: 286.628 milliseconds (3000 allocations: 250 MB, 6.93% gc time)
UTF-16 convert to UTF-8: 212.125 milliseconds (3000 allocations: 92094 KB, 2.96% gc time)
UTF-16 convert to UTF-32: 202.656 milliseconds (3000 allocations: 250 MB, 7.45% gc time)
UTF-32 convert to UTF-8: 178.788 milliseconds (5000 allocations: 92172 KB, 5.04% gc time)
UTF-32 convert to UTF-16: 157.465 milliseconds (5000 allocations: 125 MB, 6.80% gc time)
4-byte:: Looping 1000 times, length=65536
UTF-8: 106496, UTF-16: 147456, UTF-32: 262144
UTF-8 length: 23.147 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 16.139 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 10.203 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 220.821 milliseconds (56000 allocations: 613 MB, 4.19% gc time)
UTF-16 valid: 211.424 milliseconds (56000 allocations: 613 MB, 3.63% gc time)
UTF-32 valid: 179.438 milliseconds (56000 allocations: 613 MB, 4.08% gc time)
UTF-8 convert to UTF-16: 263.982 milliseconds (3000 allocations: 141 MB, 4.50% gc time)
UTF-8 convert to UTF-32: 287.485 milliseconds (3000 allocations: 250 MB, 5.78% gc time)
UTF-16 convert to UTF-8: 243.636 milliseconds (3000 allocations: 102 MB, 4.87% gc time)
UTF-16 convert to UTF-32: 241.225 milliseconds (3000 allocations: 250 MB, 6.22% gc time)
UTF-32 convert to UTF-8: 185.989 milliseconds (5000 allocations: 102 MB, 4.80% gc time)
UTF-32 convert to UTF-16: 214.276 milliseconds (5000 allocations: 141 MB, 4.75% gc time)
Surrogates:: Looping 1000 times, length=65536
UTF-8: 122880, UTF-16: 147456, UTF-32: 262144
UTF-8 length: 25.983 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 17.636 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 9.834 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 152.373 milliseconds (56000 allocations: 613 MB, 6.50% gc time)
UTF-16 valid: 222.816 milliseconds (56000 allocations: 613 MB, 3.62% gc time)
UTF-32 valid: 179.924 milliseconds (56000 allocations: 613 MB, 4.25% gc time)
UTF-8 convert to UTF-16: 292.004 milliseconds (3000 allocations: 141 MB, 3.93% gc time)
UTF-8 convert to UTF-32: 315.012 milliseconds (3000 allocations: 250 MB, 5.59% gc time)
UTF-16 convert to UTF-8: 237.203 milliseconds (3000 allocations: 102 MB, 3.78% gc time)
UTF-16 convert to UTF-32: 263.977 milliseconds (3000 allocations: 250 MB, 6.67% gc time)
UTF-32 convert to UTF-8: 182.138 milliseconds (5000 allocations: 102 MB, 4.90% gc time)
UTF-32 convert to UTF-16: 211.909 milliseconds (5000 allocations: 141 MB, 5.08% gc time)
ASCII: Looping 1000 times, length=262144
length: 9.305 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 252.924 milliseconds (56000 allocations: 613 MB, 3.27% gc time)
Convert to UTF-8: 7.989 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 141.515 milliseconds (3000 allocations: 500 MB, 12.36% gc time)
Convert to UTF-32: 181.554 milliseconds (3000 allocations: 1000 MB, 14.98% gc time)
ASCII:: Looping 1000 times, length=262144
UTF-8: 262144, UTF-16: 524288, UTF-32: 1048576
UTF-8 length: 61.696 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 54.827 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 21.422 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 260.693 milliseconds (56000 allocations: 613 MB, 3.87% gc time)
UTF-16 valid: 330.233 milliseconds (56000 allocations: 613 MB, 2.38% gc time)
UTF-32 valid: 293.756 milliseconds (56000 allocations: 613 MB, 3.05% gc time)
UTF-8 convert to UTF-16: 281.273 milliseconds (3000 allocations: 500 MB, 6.83% gc time)
UTF-8 convert to UTF-32: 330.829 milliseconds (3000 allocations: 1000 MB, 8.49% gc time)
UTF-16 convert to UTF-8: 377.387 milliseconds (3000 allocations: 250 MB, 4.56% gc time)
UTF-16 convert to UTF-32: 319.477 milliseconds (3000 allocations: 1000 MB, 8.58% gc time)
UTF-32 convert to UTF-8: 389.767 milliseconds (5000 allocations: 250 MB, 5.01% gc time)
UTF-32 convert to UTF-16: 413.878 milliseconds (5000 allocations: 500 MB, 6.21% gc time)
Latin1:: Looping 1000 times, length=262144
UTF-8: 344064, UTF-16: 524288, UTF-32: 1048576
UTF-8 length: 73.581 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 54.403 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 13.072 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 357.113 milliseconds (56000 allocations: 613 MB, 2.73% gc time)
UTF-16 valid: 321.006 milliseconds (56000 allocations: 613 MB, 2.52% gc time)
UTF-32 valid: 291.885 milliseconds (56000 allocations: 613 MB, 3.05% gc time)
UTF-8 convert to UTF-16: 766.155 milliseconds (3000 allocations: 500 MB, 3.55% gc time)
UTF-8 convert to UTF-32: 819.529 milliseconds (3000 allocations: 1000 MB, 5.25% gc time)
UTF-16 convert to UTF-8: 889.425 milliseconds (3000 allocations: 328 MB, 2.64% gc time)
UTF-16 convert to UTF-32: 541.455 milliseconds (3000 allocations: 1000 MB, 5.32% gc time)
UTF-32 convert to UTF-8: 796.519 milliseconds (5000 allocations: 328 MB, 2.80% gc time)
UTF-32 convert to UTF-16: 527.922 milliseconds (5000 allocations: 500 MB, 5.22% gc time)
2-byte:: Looping 1000 times, length=262144
UTF-8: 344064, UTF-16: 524288, UTF-32: 1048576
UTF-8 length: 77.153 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 54.267 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 21.780 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 353.893 milliseconds (56000 allocations: 613 MB, 2.68% gc time)
UTF-16 valid: 326.727 milliseconds (56000 allocations: 613 MB, 2.44% gc time)
UTF-32 valid: 299.754 milliseconds (56000 allocations: 613 MB, 2.95% gc time)
UTF-8 convert to UTF-16: 808.096 milliseconds (3000 allocations: 500 MB, 3.51% gc time)
UTF-8 convert to UTF-32: 848.510 milliseconds (3000 allocations: 1000 MB, 5.09% gc time)
UTF-16 convert to UTF-8: 860.325 milliseconds (3000 allocations: 328 MB, 2.66% gc time)
UTF-16 convert to UTF-32: 555.055 milliseconds (3000 allocations: 1000 MB, 5.44% gc time)
UTF-32 convert to UTF-8: 782.626 milliseconds (5000 allocations: 328 MB, 2.92% gc time)
UTF-32 convert to UTF-16: 563.092 milliseconds (5000 allocations: 500 MB, 4.50% gc time)
3-byte:: Looping 1000 times, length=262144
UTF-8: 376832, UTF-16: 524288, UTF-32: 1048576
UTF-8 length: 83.404 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 57.315 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 10.986 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 388.078 milliseconds (56000 allocations: 613 MB, 2.62% gc time)
UTF-16 valid: 320.206 milliseconds (56000 allocations: 613 MB, 2.55% gc time)
UTF-32 valid: 296.409 milliseconds (56000 allocations: 613 MB, 2.97% gc time)
UTF-8 convert to UTF-16: 903.716 milliseconds (3000 allocations: 500 MB, 3.16% gc time)
UTF-8 convert to UTF-32: 1.004 seconds (3000 allocations: 1000 MB, 4.58% gc time)
UTF-16 convert to UTF-8: 897.109 milliseconds (3000 allocations: 359 MB, 2.66% gc time)
UTF-16 convert to UTF-32: 582.344 milliseconds (3000 allocations: 1000 MB, 5.05% gc time)
UTF-32 convert to UTF-8: 771.904 milliseconds (5000 allocations: 360 MB, 3.02% gc time)
UTF-32 convert to UTF-16: 545.634 milliseconds (5000 allocations: 500 MB, 4.89% gc time)
4-byte:: Looping 1000 times, length=262144
UTF-8: 425984, UTF-16: 589824, UTF-32: 1048576
UTF-8 length: 93.217 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 62.956 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 11.330 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 414.028 milliseconds (56000 allocations: 613 MB, 2.35% gc time)
UTF-16 valid: 432.555 milliseconds (56000 allocations: 613 MB, 2.04% gc time)
UTF-32 valid: 311.003 milliseconds (56000 allocations: 613 MB, 2.93% gc time)
UTF-8 convert to UTF-16: 942.157 milliseconds (3000 allocations: 563 MB, 3.20% gc time)
UTF-8 convert to UTF-32: 972.385 milliseconds (3000 allocations: 1000 MB, 4.48% gc time)
UTF-16 convert to UTF-8: 1.062 seconds (3000 allocations: 406 MB, 2.53% gc time)
UTF-16 convert to UTF-32: 785.821 milliseconds (3000 allocations: 1000 MB, 5.17% gc time)
UTF-32 convert to UTF-8: 803.602 milliseconds (5000 allocations: 406 MB, 3.32% gc time)
UTF-32 convert to UTF-16: 757.809 milliseconds (5000 allocations: 563 MB, 3.91% gc time)
Surrogates:: Looping 1000 times, length=262144
UTF-8: 491520, UTF-16: 589824, UTF-32: 1048576
UTF-8 length: 116.852 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 61.719 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 10.894 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 150.757 milliseconds (56000 allocations: 613 MB, 6.16% gc time)
UTF-16 valid: 441.075 milliseconds (56000 allocations: 613 MB, 1.99% gc time)
UTF-32 valid: 292.872 milliseconds (56000 allocations: 613 MB, 2.88% gc time)
UTF-8 convert to UTF-16: 1.072 seconds (3000 allocations: 563 MB, 2.79% gc time)
UTF-8 convert to UTF-32: 1.043 seconds (3000 allocations: 1000 MB, 4.07% gc time)
UTF-16 convert to UTF-8: 1.021 seconds (3000 allocations: 406 MB, 2.56% gc time)
UTF-16 convert to UTF-32: 795.863 milliseconds (3000 allocations: 1000 MB, 5.21% gc time)
UTF-32 convert to UTF-8: 807.741 milliseconds (5000 allocations: 406 MB, 3.36% gc time)
UTF-32 convert to UTF-16: 743.981 milliseconds (5000 allocations: 563 MB, 4.19% gc time)
ASCII: Looping 1000 times, length=1048576
length: 11.270 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 669.794 milliseconds (56000 allocations: 613 MB, 8.03% gc time)
Convert to UTF-8: 10.532 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 290.462 milliseconds (3000 allocations: 2000 MB, 24.55% gc time)
Convert to UTF-32: 682.883 milliseconds (3000 allocations: 4000 MB, 27.79% gc time)
ASCII:: Looping 1000 times, length=1048576
UTF-8: 1048576, UTF-16: 2097152, UTF-32: 4194304
UTF-8 length: 223.875 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 218.767 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 11.457 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 583.943 milliseconds (56000 allocations: 613 MB, 2.07% gc time)
UTF-16 valid: 860.840 milliseconds (56000 allocations: 613 MB, 0.95% gc time)
UTF-32 valid: 791.259 milliseconds (56000 allocations: 613 MB, 1.19% gc time)
UTF-8 convert to UTF-16: 847.236 milliseconds (3000 allocations: 2000 MB, 8.61% gc time)
UTF-8 convert to UTF-32: 1.237 seconds (3000 allocations: 4000 MB, 15.75% gc time)
UTF-16 convert to UTF-8: 1.342 seconds (3000 allocations: 1000 MB, 3.55% gc time)
UTF-16 convert to UTF-32: 1.393 seconds (3000 allocations: 4000 MB, 17.18% gc time)
UTF-32 convert to UTF-8: 1.527 seconds (5000 allocations: 1000 MB, 3.34% gc time)
UTF-32 convert to UTF-16: 1.330 seconds (5000 allocations: 2000 MB, 7.91% gc time)
Latin1:: Looping 1000 times, length=1048576
UTF-8: 1376256, UTF-16: 2097152, UTF-32: 4194304
UTF-8 length: 300.960 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 265.757 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 13.338 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 959.067 milliseconds (56000 allocations: 613 MB, 1.30% gc time)
UTF-16 valid: 902.068 milliseconds (56000 allocations: 613 MB, 0.98% gc time)
UTF-32 valid: 723.165 milliseconds (56000 allocations: 613 MB, 0.97% gc time)
UTF-8 convert to UTF-16: 2.802 seconds (3000 allocations: 2000 MB, 4.24% gc time)
UTF-8 convert to UTF-32: 3.376 seconds (3000 allocations: 4000 MB, 10.97% gc time)
UTF-16 convert to UTF-8: 3.159 seconds (3000 allocations: 1313 MB, 2.31% gc time)
UTF-16 convert to UTF-32: 2.224 seconds (3000 allocations: 4000 MB, 9.01% gc time)
UTF-32 convert to UTF-8: 2.682 seconds (5000 allocations: 1313 MB, 2.48% gc time)
UTF-32 convert to UTF-16: 1.873 seconds (5000 allocations: 2000 MB, 7.41% gc time)
2-byte:: Looping 1000 times, length=1048576
UTF-8: 1376256, UTF-16: 2097152, UTF-32: 4194304
UTF-8 length: 303.260 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 232.924 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 11.069 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 966.993 milliseconds (56000 allocations: 613 MB, 1.07% gc time)
UTF-16 valid: 862.103 milliseconds (56000 allocations: 613 MB, 0.99% gc time)
UTF-32 valid: 847.689 milliseconds (56000 allocations: 613 MB, 1.21% gc time)
UTF-8 convert to UTF-16: 2.963 seconds (3000 allocations: 2000 MB, 4.09% gc time)
UTF-8 convert to UTF-32: 3.441 seconds (3000 allocations: 4000 MB, 10.79% gc time)
UTF-16 convert to UTF-8: 2.935 seconds (3000 allocations: 1313 MB, 2.40% gc time)
UTF-16 convert to UTF-32: 2.327 seconds (3000 allocations: 4000 MB, 9.53% gc time)
UTF-32 convert to UTF-8: 2.798 seconds (5000 allocations: 1313 MB, 2.40% gc time)
UTF-32 convert to UTF-16: 2.054 seconds (5000 allocations: 2000 MB, 7.84% gc time)
3-byte:: Looping 1000 times, length=1048576
UTF-8: 1507328, UTF-16: 2097152, UTF-32: 4194304
UTF-8 length: 336.255 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 224.172 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 21.935 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 1.044 seconds (56000 allocations: 613 MB, 1.03% gc time)
UTF-16 valid: 895.617 milliseconds (56000 allocations: 613 MB, 0.88% gc time)
UTF-32 valid: 768.645 milliseconds (56000 allocations: 613 MB, 1.25% gc time)
UTF-8 convert to UTF-16: 3.140 seconds (3000 allocations: 2000 MB, 3.79% gc time)
UTF-8 convert to UTF-32: 3.798 seconds (3000 allocations: 4000 MB, 9.95% gc time)
UTF-16 convert to UTF-8: 3.289 seconds (3000 allocations: 1438 MB, 2.99% gc time)
UTF-16 convert to UTF-32: 2.148 seconds (3000 allocations: 4000 MB, 7.90% gc time)
UTF-32 convert to UTF-8: 2.703 seconds (5000 allocations: 1438 MB, 2.71% gc time)
UTF-32 convert to UTF-16: 1.857 seconds (5000 allocations: 2000 MB, 5.60% gc time)
4-byte:: Looping 1000 times, length=1048576
UTF-8: 1703936, UTF-16: 2359296, UTF-32: 4194304
UTF-8 length: 399.696 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 316.515 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 18.370 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 1.227 seconds (56000 allocations: 613 MB, 1.09% gc time)
UTF-16 valid: 1.317 seconds (56000 allocations: 613 MB, 0.72% gc time)
UTF-32 valid: 765.320 milliseconds (56000 allocations: 613 MB, 1.13% gc time)
UTF-8 convert to UTF-16: 3.446 seconds (3000 allocations: 2250 MB, 4.27% gc time)
UTF-8 convert to UTF-32: 3.855 seconds (3000 allocations: 4000 MB, 9.71% gc time)
UTF-16 convert to UTF-8: 3.674 seconds (3000 allocations: 1625 MB, 3.15% gc time)
UTF-16 convert to UTF-32: 3.029 seconds (3000 allocations: 4000 MB, 8.23% gc time)
UTF-32 convert to UTF-8: 2.958 seconds (5000 allocations: 1625 MB, 5.12% gc time)
UTF-32 convert to UTF-16: 2.576 seconds (5000 allocations: 2250 MB, 4.57% gc time)
Surrogates:: Looping 1000 times, length=1048576
UTF-8: 1966080, UTF-16: 2359296, UTF-32: 4194304
UTF-8 length: 420.531 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 243.903 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 11.511 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 148.044 milliseconds (56000 allocations: 613 MB, 6.20% gc time)
UTF-16 valid: 1.421 seconds (56000 allocations: 613 MB, 0.67% gc time)
UTF-32 valid: 783.370 milliseconds (56000 allocations: 613 MB, 1.02% gc time)
UTF-8 convert to UTF-16: 3.843 seconds (3000 allocations: 2250 MB, 3.74% gc time)
UTF-8 convert to UTF-32: 4.059 seconds (3000 allocations: 4000 MB, 7.78% gc time)
UTF-16 convert to UTF-8: 3.673 seconds (3000 allocations: 1625 MB, 3.17% gc time)
UTF-16 convert to UTF-32: 2.993 seconds (3000 allocations: 4000 MB, 8.33% gc time)
UTF-32 convert to UTF-8: 2.787 seconds (5000 allocations: 1625 MB, 3.23% gc time)
UTF-32 convert to UTF-16: 2.667 seconds (5000 allocations: 2250 MB, 5.78% gc time)
ASCII: Looping 1000 times, length=4194304
length: 8.282 microseconds (1000 allocations: 16000 bytes)
is_valid_ascii: 2.014 seconds (56000 allocations: 613 MB, 1.39% gc time)
Convert to UTF-8: 12.334 microseconds (1000 allocations: 16000 bytes)
Convert to UTF-16: 1.457 seconds (3000 allocations: 8000 MB, 27.76% gc time)
Convert to UTF-32: 3.768 seconds (3000 allocations: 16000 MB, 30.14% gc time)
ASCII:: Looping 1000 times, length=4194304
UTF-8: 4194304, UTF-16: 8388608, UTF-32: 16777216
UTF-8 length: 918.716 milliseconds (1000 allocations: 16000 bytes)
UTF-16 length: 886.992 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 21.584 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 2.114 seconds (56000 allocations: 613 MB, 0.91% gc time)
UTF-16 valid: 3.017 seconds (56000 allocations: 613 MB, 0.25% gc time)
UTF-32 valid: 2.571 seconds (56000 allocations: 613 MB, 0.29% gc time)
UTF-8 convert to UTF-16: 3.841 seconds (3000 allocations: 8000 MB, 11.19% gc time)
UTF-8 convert to UTF-32: 6.559 seconds (3000 allocations: 16000 MB, 19.12% gc time)
UTF-16 convert to UTF-8: 5.355 seconds (3000 allocations: 4000 MB, 5.56% gc time)
UTF-16 convert to UTF-32: 6.387 seconds (3000 allocations: 16000 MB, 18.85% gc time)
UTF-32 convert to UTF-8: 5.277 seconds (5000 allocations: 4000 MB, 5.54% gc time)
UTF-32 convert to UTF-16: 5.416 seconds (5000 allocations: 8000 MB, 7.99% gc time)
Latin1:: Looping 1000 times, length=4194304
UTF-8: 5505024, UTF-16: 8388608, UTF-32: 16777216
UTF-8 length: 1.232 seconds (1000 allocations: 16000 bytes)
UTF-16 length: 925.451 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 11.604 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 3.636 seconds (56000 allocations: 613 MB, 0.57% gc time)
UTF-16 valid: 3.124 seconds (56000 allocations: 613 MB, 0.24% gc time)
UTF-32 valid: 2.508 seconds (56000 allocations: 613 MB, 0.29% gc time)
UTF-8 convert to UTF-16: 11.709 seconds (3000 allocations: 8000 MB, 5.49% gc time)
UTF-8 convert to UTF-32: 14.534 seconds (3000 allocations: 16000 MB, 12.04% gc time)
UTF-16 convert to UTF-8: 12.631 seconds (3000 allocations: 5250 MB, 3.82% gc time)
UTF-16 convert to UTF-32: 10.534 seconds (3000 allocations: 16000 MB, 11.38% gc time)
UTF-32 convert to UTF-8: 10.694 seconds (5000 allocations: 5250 MB, 2.92% gc time)
UTF-32 convert to UTF-16: 7.288 seconds (5000 allocations: 8000 MB, 5.92% gc time)
2-byte:: Looping 1000 times, length=4194304
UTF-8: 5505024, UTF-16: 8388608, UTF-32: 16777216
UTF-8 length: 1.220 seconds (1000 allocations: 16000 bytes)
UTF-16 length: 906.952 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 21.625 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 3.513 seconds (56000 allocations: 613 MB, 0.52% gc time)
UTF-16 valid: 3.246 seconds (56000 allocations: 613 MB, 0.24% gc time)
UTF-32 valid: 2.466 seconds (56000 allocations: 613 MB, 0.28% gc time)
UTF-8 convert to UTF-16: 11.835 seconds (3000 allocations: 8000 MB, 5.47% gc time)
UTF-8 convert to UTF-32: 14.523 seconds (3000 allocations: 16000 MB, 11.95% gc time)
UTF-16 convert to UTF-8: 12.747 seconds (3000 allocations: 5250 MB, 4.36% gc time)
UTF-16 convert to UTF-32: 10.060 seconds (3000 allocations: 16000 MB, 11.78% gc time)
UTF-32 convert to UTF-8: 11.402 seconds (5000 allocations: 5250 MB, 3.31% gc time)
UTF-32 convert to UTF-16: 7.899 seconds (5000 allocations: 8000 MB, 5.72% gc time)
3-byte:: Looping 1000 times, length=4194304
UTF-8: 6029312, UTF-16: 8388608, UTF-32: 16777216
UTF-8 length: 1.334 seconds (1000 allocations: 16000 bytes)
UTF-16 length: 911.583 milliseconds (1000 allocations: 16000 bytes)
UTF-32 length: 21.857 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 3.855 seconds (56000 allocations: 613 MB, 0.48% gc time)
UTF-16 valid: 3.003 seconds (56000 allocations: 613 MB, 0.24% gc time)
UTF-32 valid: 2.481 seconds (56000 allocations: 613 MB, 0.30% gc time)
UTF-8 convert to UTF-16: 12.980 seconds (3000 allocations: 8000 MB, 4.85% gc time)
UTF-8 convert to UTF-32: 15.879 seconds (3000 allocations: 16000 MB, 10.96% gc time)
UTF-16 convert to UTF-8: 13.542 seconds (3000 allocations: 5750 MB, 4.59% gc time)
UTF-16 convert to UTF-32: 10.203 seconds (3000 allocations: 16000 MB, 11.71% gc time)
UTF-32 convert to UTF-8: 10.998 seconds (5000 allocations: 5750 MB, 3.61% gc time)
UTF-32 convert to UTF-16: 7.582 seconds (5000 allocations: 8000 MB, 5.62% gc time)
4-byte:: Looping 1000 times, length=4194304
UTF-8: 6815744, UTF-16: 9437184, UTF-32: 16777216
UTF-8 length: 1.490 seconds (1000 allocations: 16000 bytes)
UTF-16 length: 1.013 seconds (1000 allocations: 16000 bytes)
UTF-32 length: 11.809 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 4.367 seconds (56000 allocations: 613 MB, 0.46% gc time)
UTF-16 valid: 4.815 seconds (56000 allocations: 613 MB, 0.16% gc time)
UTF-32 valid: 2.450 seconds (56000 allocations: 613 MB, 0.28% gc time)
UTF-8 convert to UTF-16: 14.499 seconds (3000 allocations: 9000 MB, 6.65% gc time)
UTF-8 convert to UTF-32: 16.204 seconds (3000 allocations: 16000 MB, 10.75% gc time)
UTF-16 convert to UTF-8: 15.675 seconds (3000 allocations: 6500 MB, 4.22% gc time)
UTF-16 convert to UTF-32: 14.145 seconds (3000 allocations: 16000 MB, 12.28% gc time)
UTF-32 convert to UTF-8: 11.873 seconds (5000 allocations: 6500 MB, 3.83% gc time)
UTF-32 convert to UTF-16: 10.501 seconds (5000 allocations: 9000 MB, 4.51% gc time)
Surrogates:: Looping 1000 times, length=4194304
UTF-8: 7864320, UTF-16: 9437184, UTF-32: 16777216
UTF-8 length: 1.729 seconds (1000 allocations: 16000 bytes)
UTF-16 length: 1.087 seconds (1000 allocations: 16000 bytes)
UTF-32 length: 13.431 microseconds (1000 allocations: 16000 bytes)
UTF-8 valid: 166.817 milliseconds (56000 allocations: 613 MB, 9.83% gc time)
UTF-16 valid: 4.803 seconds (56000 allocations: 613 MB, 0.18% gc time)
UTF-32 valid: 2.575 seconds (56000 allocations: 613 MB, 0.29% gc time)
UTF-8 convert to UTF-16: 16.691 seconds (3000 allocations: 9000 MB, 5.85% gc time)
UTF-8 convert to UTF-32: 17.331 seconds (3000 allocations: 16000 MB, 9.54% gc time)
UTF-16 convert to UTF-8: 15.221 seconds (3000 allocations: 6500 MB, 4.34% gc time)
UTF-16 convert to UTF-32: 13.879 seconds (3000 allocations: 16000 MB, 12.95% gc time)
UTF-32 convert to UTF-8: 11.443 seconds (5000 allocations: 6500 MB, 3.77% gc time)
UTF-32 convert to UTF-16: 10.541 seconds (5000 allocations: 9000 MB, 4.49% gc time)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment