memory functions like a libc memcmp(), memchr(), memmem(), memcpy(), memset()
compile by rustc 1.52.1 (9bc8c42bb 2021-05-09)
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemchr | 225.480 uc | 225.440 uc | 226.240 uc | 226.010 uc |
| memxmemchr | 258.560 uc | 81.691 uc | 262.690 uc | 81.100 uc |
| memxmemchrbasic | 255.280 uc | 94.201 uc | 261.980 uc | 94.397 uc |
| memxmemchrlibc | 290.440 uc | 83.619 uc | 614.890 uc | 209.530 uc |
| memchr_memchr | 220.390 uc | 65.749 uc | 226.130 uc | 64.531 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemcmp | 256.250 uc | 335.030 uc | 417.780 uc | 372.920 uc |
| memxmemcmp | 245.860 uc | 308.080 uc | 236.750 uc | 301.260 uc |
| memxmemcmpbasic | 233.880 uc | 282.990 uc | 240.250 uc | 283.920 uc |
| memxmemcmplibc | 350.370 uc | 425.330 uc | 485.850 uc | 579.300 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemcpy | 246.550 uc | 437.850 uc | 638.930 uc | 1145.800 uc |
| memxmemcpy | 332.360 uc | 466.830 uc | 329.470 uc | 471.780 uc |
| memxmemcpybasic | 332.210 uc | 467.190 uc | 329.580 uc | 472.080 uc |
| memxmemcpylibc | 288.240 uc | 504.140 uc | 675.400 uc | 1214.300 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemeq | 273.290 uc | 325.620 uc | 436.800 uc | 394.020 uc |
| memxmemeq | 187.990 uc | 247.410 uc | 186.700 uc | 250.140 uc |
| memxmemeqbasic | 187.830 uc | 248.090 uc | 186.720 uc | 250.000 uc |
| memxmemeqlibc | 331.060 uc | 399.220 uc | 476.150 uc | 543.250 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemmem | 514.280 uc | 456.430 uc | 510.550 uc | 472.260 uc |
| memxmemmem | 114.860 uc | 114.660 uc | 116.720 uc | 116.660 uc |
| memxmemmembasic | 115.220 uc | 115.490 uc | 115.990 uc | 116.610 uc |
| memxmemmemlibc | 132.520 uc | 122.250 uc | 220.890 uc | 276.960 uc |
| memchr_memmem | 185.760 uc | 209.940 uc | 194.000 uc | 222.120 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemset | 1.695 uc | 3.686 uc | 1.481 uc | 3.314 uc |
| memxmemset | 1.959 uc | 4.107 uc | 1.743 uc | 3.670 uc |
| memxmemsetbasic | 2.889 uc | 5.146 uc | 2.896 uc | 5.245 uc |
| memxmemsetlibc | 1.857 uc | 3.901 uc | 1.659 uc | 3.544 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemchr | 83.806 uc | 83.824 uc | 85.359 uc | 85.323 uc |
| memxmemchr | 335.410 uc | 132.370 uc | 336.920 uc | 138.760 uc |
| memxmemchrbasic | 302.390 uc | 131.960 uc | 339.340 uc | 139.240 uc |
| memxmemchrlibc | 372.080 uc | 100.040 uc | 580.580 uc | 153.270 uc |
| memchr_memchr | 488.860 uc | 194.320 uc | 533.760 uc | 199.280 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemcmp | 266.600 uc | 365.520 uc | 557.240 uc | 530.380 uc |
| memxmemcmp | 315.770 uc | 371.150 uc | 324.900 uc | 422.970 uc |
| memxmemcmpbasic | 327.260 uc | 371.040 uc | 321.080 uc | 399.910 uc |
| memxmemcmplibc | 391.420 uc | 526.450 uc | 666.070 uc | 739.410 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemcpy | 323.310 uc | 586.280 uc | 418.100 uc | 745.570 uc |
| memxmemcpy | 435.160 uc | 830.570 uc | 363.750 uc | 810.380 uc |
| memxmemcpybasic | 436.470 uc | 831.460 uc | 363.070 uc | 809.770 uc |
| memxmemcpylibc | 389.430 uc | 741.410 uc | 494.500 uc | 890.600 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemeq | 281.120 uc | 350.180 uc | 628.440 uc | 645.750 uc |
| memxmemeq | 305.810 uc | 358.870 uc | 308.670 uc | 365.060 uc |
| memxmemeqbasic | 310.720 uc | 354.170 uc | 306.370 uc | 365.360 uc |
| memxmemeqlibc | 367.540 uc | 476.240 uc | 713.050 uc | 848.700 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemmem | 692.010 uc | 558.620 uc | 724.800 uc | 590.770 uc |
| memxmemmem | 138.470 uc | 135.850 uc | 136.450 uc | 136.980 uc |
| memxmemmembasic | 139.030 uc | 135.280 uc | 137.430 uc | 137.520 uc |
| memxmemmemlibc | 185.490 uc | 172.060 uc | 247.830 uc | 258.750 uc |
| memchr_memmem | 473.520 uc | 487.570 uc | 506.670 uc | 492.670 uc |
| name
| bench:en
| bench:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemset | 1.355 uc | 2.755 uc | 2.510 uc | 4.622 uc |
| memxmemset | 1.498 uc | 3.117 uc | 2.618 uc | 4.808 uc |
| memxmemsetbasic | 2.922 uc | 5.265 uc | 2.980 uc | 5.367 uc |
| memxmemsetlibc | 1.398 uc | 2.926 uc | 2.651 uc | 4.812 uc |
| name
| andro:en
| andro:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemchr | 1436.800 uc | 887.990 uc | 1256.700 uc | 961.610 uc |
| memxmemchr | 928.430 uc | 567.180 uc | 933.350 uc | 547.490 uc |
| memxmemchrbasic | 937.170 uc | 568.900 uc | 954.080 uc | 571.800 uc |
| memxmemchrlibc | 2241.300 uc | 1102.300 uc | 1878.800 uc | 820.650 uc |
| memchr_memchr | 1328.500 uc | 617.300 uc | 1479.800 uc | 592.800 uc |
| name
| andro:en
| andro:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemcmp | 2888.200 uc | 2469.200 uc | 2108.000 uc | 2083.500 uc |
| memxmemcmp | 1148.400 uc | 1439.500 uc | 1376.400 uc | 1521.300 uc |
| memxmemcmpbasic | 1146.600 uc | 1429.700 uc | 1381.200 uc | 1519.500 uc |
| memxmemcmplibc | 2363.000 uc | 3198.000 uc | 2310.200 uc | 2390.100 uc |
| name
| andro:en
| andro:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemcpy | 2685.300 uc | 3121.200 uc | 2736.200 uc | 4416.000 uc |
| memxmemcpy | 1171.100 uc | 1170.100 uc | 1000.800 uc | 1793.300 uc |
| memxmemcpybasic | 1142.800 uc | 1144.200 uc | 1068.000 uc | 1818.200 uc |
| memxmemcpylibc | 2198.700 uc | 2197.300 uc | 1856.500 uc | 2985.200 uc |
| name
| andro:en
| andro:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemeq | 2454.400 uc | 2461.800 uc | 1889.500 uc | 1940.400 uc |
| memxmemeq | 997.370 uc | 1340.900 uc | 868.390 uc | 1115.100 uc |
| memxmemeqbasic | 997.440 uc | 1464.200 uc | 884.570 uc | 1136.900 uc |
| memxmemeqlibc | 2286.200 uc | 3101.400 uc | 2013.800 uc | 2185.600 uc |
| name
| andro:en
| andro:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemmem | 2781.000 uc | 2119.100 uc | 2717.800 uc | 1984.600 uc |
| memxmemmem | 580.130 uc | 582.210 uc | 617.470 uc | 655.810 uc |
| memxmemmembasic | 579.280 uc | 582.330 uc | 617.390 uc | 659.470 uc |
| memxmemmemlibc | 1982.600 uc | 1997.000 uc | 1454.600 uc | 1488.700 uc |
| memchr_memmem | 1934.900 uc | 1960.200 uc | 1844.700 uc | 1954.500 uc |
| name
| andro:en
| andro:ja
| musl:en
| musl:ja
|
|:------------------------|------------:|------------:|------------:|------------:|
| stdmemset | 84.693 uc | 153.710 uc | 75.490 uc | 15.630 uc |
| memxmemset | 45.985 uc | 82.639 uc | 45.347 uc | 81.686 uc |
| memxmemsetbasic | 45.744 uc | 82.058 uc | 45.365 uc | 81.650 uc |
| memxmemsetlibc | 60.770 uc | 113.470 uc | 4.496 uc | 8.083 uc |
us
is micro seconds:en
is english haystack.:ja
is japanese haystack.musl
is x86_64-unknown-linux-musl