Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

buffer: improve performance of buffer indexof method #26400

Closed
wants to merge 2 commits into from
Closed

buffer: improve performance of buffer indexof method #26400

wants to merge 2 commits into from

Conversation

ZYSzys
Copy link
Member

@ZYSzys ZYSzys commented Mar 2, 2019

Inspired by #12361, making buffer indexof method be consistent with byteLength, stringSlice, Buffer.prototype.write , and IIUC this should have some performance improvement.

(I've run the buffer benchmark and seems a bit of improvement, but it took too long and my laptop has no power, so I canceled -:(

/cc @mscdex

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added the buffer Issues and PRs related to the buffer subsystem. label Mar 2, 2019
@mscdex
Copy link
Contributor

mscdex commented Mar 2, 2019

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/298/

Copy link
Member

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is likely only going to improve the performance for very small buffers.

@BridgeAR
Copy link
Member

BridgeAR commented Mar 5, 2019

Looking at the benchmark results this does not seem to have a measurable impact (the few significant changes seem to be statistical stray bullets).
But please have a look if our current indexOf benchmarks actually test the case that is improved here.

@ZYSzys
Copy link
Member Author

ZYSzys commented Mar 5, 2019

Yes, the indexOf benchmark is not ideal, even regression🤕.

Here are some measurable impact:

buffers/buffer-indexof.js n=100000 type='buffer' encoding='ucs2' search='Panther'                                                                         *      3.56 %       ±3.09%  ±4.13%  ±5.39%
buffers/buffer-indexof.js n=100000 type='buffer' encoding='undefined' search='Alice'                                                                      *      5.41 %       ±5.10%  ±6.82%  ±8.95%
buffers/buffer-indexof.js n=100000 type='buffer' encoding='utf8' search='@'                                                                               *     -9.84 %       ±9.25% ±12.43% ±16.42%
buffers/buffer-indexof.js n=100000 type='string' encoding='binary' search='@'                                                                             *      7.58 %       ±5.70%  ±7.59%  ±9.89%
buffers/buffer-indexof.js n=100000 type='string' encoding='binary' search='among mad people'                                                              *     -1.53 %       ±1.17%  ±1.57%  ±2.05%
buffers/buffer-indexof.js n=100000 type='string' encoding='binary' search='Ou est ma chatte?'                                                             *     -3.49 %       ±2.66%  ±3.55%  ±4.63%
buffers/buffer-indexof.js n=100000 type='string' encoding='binary' search='venture to go near the house till she had brought herself down to'            **     -3.47 %       ±2.24%  ±2.98%  ±3.89%
buffers/buffer-indexof.js n=100000 type='string' encoding='ucs2' search='Alice'                                                                           *     -6.56 %       ±6.08%  ±8.14% ±10.68%
buffers/buffer-indexof.js n=100000 type='string' encoding='ucs2' search='Gryphon'                                                                         *     -3.43 %       ±2.99%  ±3.98%  ±5.19%
buffers/buffer-indexof.js n=100000 type='string' encoding='ucs2' search='--l'                                                                             *     -2.61 %       ±2.60%  ±3.47%  ±4.51%
buffers/buffer-indexof.js n=100000 type='string' encoding='ucs2' search='Ou est ma chatte?'                                                             ***     -4.78 %       ±1.73%  ±2.31%  ±3.01%
buffers/buffer-indexof.js n=100000 type='string' encoding='ucs2' search='Panther'                                                                        **     -3.69 %       ±2.14%  ±2.84%  ±3.70%
buffers/buffer-indexof.js n=100000 type='string' encoding='ucs2' search='venture to go near the house till she had brought herself down to'              **     -2.72 %       ±1.76%  ±2.34%  ±3.05%
buffers/buffer-indexof.js n=100000 type='string' encoding='undefined' search='Ou est ma chatte?'                                                          *     -3.42 %       ±2.77%  ±3.70%  ±4.82%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='@'                                                                               *     -5.95 %       ±4.72%  ±6.29%  ±8.21%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa'                                                               *     -2.23 %       ±1.79%  ±2.38%  ±3.11%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='found it very'                                                                   *     -1.41 %       ±1.14%  ±1.52%  ±1.98%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='</i> to the Caterpillar'                                                         *     -1.86 %       ±1.80%  ±2.41%  ±3.17%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='--l'                                                                             *     -4.93 %       ±4.20%  ±5.60%  ±7.30%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='neighbouring pool'                                                              **     -2.59 %       ±1.49%  ±2.00%  ±2.64%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='Ou est ma chatte?'                                                               *     -2.90 %       ±2.23%  ±2.97%  ±3.86%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='SQ'                                                                              *     -2.54 %       ±2.15%  ±2.87%  ±3.73%
buffers/buffer-indexof.js n=100000 type='string' encoding='utf8' search='venture to go near the house till she had brought herself down to'              **     -2.85 %       ±1.87%  ±2.49%  ±3.24%
I'll investigate it more.

@ZYSzys
Copy link
Member Author

ZYSzys commented Mar 6, 2019

The orginal approach causes some regressions. So I just simply add all caps versions and seems a bit improvement.

Here are the results by running the new benchmark buffers/buffer-indexof-encoding.js I added:

                                                                                                                                          confidence improvement accuracy (*)    (**)   (***)
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='--l'                                                                                  7.07 %       ±8.88% ±11.83% ±15.43%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='--l'                                                                                  8.88 %      ±10.32% ±13.78% ±18.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='@'                                                                             *    -10.37 %      ±10.18% ±13.58% ±17.76%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='@'                                                                                   -2.04 %       ±9.97% ±13.26% ±17.26%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='</i> to the Caterpillar'                                                             -0.62 %       ±6.11%  ±8.15% ±10.66%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='</i> to the Caterpillar'                                                             -2.72 %       ±6.40%  ±8.51% ±11.08%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='10x'                                                                                  1.69 %       ±8.66% ±11.55% ±15.07%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='10x'                                                                                 -3.73 %       ±7.30%  ±9.71% ±12.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='aaaaaaaaaaaaaaaaa'                                                                    0.81 %       ±3.28%  ±4.37%  ±5.69%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='aaaaaaaaaaaaaaaaa'                                                                   -2.58 %       ±3.41%  ±4.54%  ±5.92%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='Alice'                                                                                2.33 %       ±9.51% ±12.66% ±16.47%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='Alice'                                                                                5.93 %      ±10.69% ±14.23% ±18.54%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='among mad people'                                                                    -1.12 %       ±5.63%  ±7.51%  ±9.80%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='among mad people'                                                                     0.21 %       ±4.80%  ±6.39%  ±8.31%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='found it very'                                                                        1.52 %       ±3.70%  ±4.93%  ±6.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='found it very'                                                                       -2.03 %       ±4.63%  ±6.18%  ±8.09%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='Gryphon'                                                                              5.80 %       ±9.69% ±12.91% ±16.84%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='Gryphon'                                                                             -0.79 %       ±7.89% ±10.50% ±13.66%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='neighbouring pool'                                                                    3.06 %       ±3.90%  ±5.20%  ±6.81%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='neighbouring pool'                                                                    2.37 %       ±4.25%  ±5.68%  ±7.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='Ou est ma chatte?'                                                                   -2.75 %       ±5.29%  ±7.04%  ±9.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='Ou est ma chatte?'                                                                    3.37 %       ±5.78%  ±7.70% ±10.04%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='Panther'                                                                             -1.51 %      ±10.05% ±13.37% ±17.40%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='Panther'                                                                             -1.21 %       ±8.00% ±10.65% ±13.86%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='Soo--oop'                                                                             0.73 %       ±3.25%  ±4.33%  ±5.63%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='Soo--oop'                                                                             2.22 %       ±3.60%  ±4.80%  ±6.26%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='SQ'                                                                            *      9.30 %       ±8.85% ±11.82% ±15.47%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='SQ'                                                                                   2.35 %       ±9.48% ±12.62% ±16.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ascii' search='venture to go near the house till she had brought herself down to'             *     -7.21 %       ±6.57%  ±8.75% ±11.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ASCII' search='venture to go near the house till she had brought herself down to'                   -4.04 %       ±5.23%  ±6.97%  ±9.09%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='--l'                                                                                -0.72 %       ±7.30%  ±9.71% ±12.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='--l'                                                                                 4.27 %       ±9.30% ±12.39% ±16.15%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='@'                                                                                  -5.97 %       ±9.80% ±13.05% ±16.99%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='@'                                                                                  -5.02 %       ±8.91% ±11.88% ±15.50%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='</i> to the Caterpillar'                                                            -5.96 %      ±10.30% ±13.74% ±17.95%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='</i> to the Caterpillar'                                                           -10.22 %      ±10.53% ±14.05% ±18.37%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='10x'                                                                                 6.33 %      ±10.04% ±13.41% ±17.57%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='10x'                                                                                 1.16 %       ±7.37%  ±9.82% ±12.80%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='aaaaaaaaaaaaaaaaa'                                                                  -0.47 %       ±5.55%  ±7.41%  ±9.67%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='aaaaaaaaaaaaaaaaa'                                                                   3.31 %       ±3.92%  ±5.23%  ±6.82%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='Alice'                                                                              -4.65 %       ±8.54% ±11.38% ±14.85%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='Alice'                                                                              -0.48 %       ±8.33% ±11.08% ±14.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='among mad people'                                                                    2.83 %       ±4.84%  ±6.45%  ±8.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='among mad people'                                                                    2.99 %       ±5.00%  ±6.67%  ±8.71%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='found it very'                                                                *      6.69 %       ±6.40%  ±8.54% ±11.16%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='found it very'                                                                       0.99 %       ±8.45% ±11.26% ±14.66%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='Gryphon'                                                                             3.22 %       ±6.74%  ±8.98% ±11.72%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='Gryphon'                                                                             1.82 %       ±6.67%  ±8.88% ±11.56%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='neighbouring pool'                                                                   6.82 %       ±9.11% ±12.14% ±15.86%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='neighbouring pool'                                                                   1.82 %       ±8.62% ±11.49% ±14.98%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='Ou est ma chatte?'                                                                  -1.70 %       ±4.50%  ±5.99%  ±7.80%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='Ou est ma chatte?'                                                                  -1.55 %       ±6.16%  ±8.23% ±10.78%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='Panther'                                                                             0.59 %      ±10.75% ±14.30% ±18.62%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='Panther'                                                                             1.06 %       ±9.65% ±12.84% ±16.71%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='Soo--oop'                                                                           -4.79 %       ±8.89% ±11.85% ±15.48%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='Soo--oop'                                                                           -2.42 %       ±6.83%  ±9.09% ±11.83%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='SQ'                                                                                 -4.08 %       ±8.35% ±11.12% ±14.47%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='SQ'                                                                                 -2.27 %       ±8.06% ±10.74% ±14.01%
 buffers/buffer-indexof-encoding.js n=1000 encoding='base64' search='venture to go near the house till she had brought herself down to'                  -5.05 %       ±8.83% ±11.75% ±15.30%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BASE64' search='venture to go near the house till she had brought herself down to'                  -5.95 %       ±7.04%  ±9.40% ±12.28%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='--l'                                                                                 5.14 %       ±8.21% ±10.93% ±14.23%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='--l'                                                                                 4.65 %       ±5.86%  ±7.80% ±10.15%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='@'                                                                            *    -11.00 %       ±9.78% ±13.02% ±16.94%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='@'                                                                                   8.03 %      ±10.72% ±14.29% ±18.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='</i> to the Caterpillar'                                                             0.56 %       ±4.61%  ±6.14%  ±8.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='</i> to the Caterpillar'                                                            -2.73 %       ±6.68%  ±8.88% ±11.56%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='10x'                                                                                -4.02 %       ±9.21% ±12.27% ±15.98%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='10x'                                                                                10.51 %      ±11.01% ±14.65% ±19.07%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='aaaaaaaaaaaaaaaaa'                                                                   2.32 %       ±4.53%  ±6.04%  ±7.89%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='aaaaaaaaaaaaaaaaa'                                                                  -2.69 %       ±5.63%  ±7.52%  ±9.83%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='Alice'                                                                              -2.76 %       ±8.28% ±11.05% ±14.47%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='Alice'                                                                              10.63 %      ±11.14% ±14.83% ±19.32%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='among mad people'                                                                    4.39 %       ±5.23%  ±6.96%  ±9.09%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='among mad people'                                                                    0.96 %       ±4.30%  ±5.73%  ±7.48%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='found it very'                                                                      -0.14 %       ±4.63%  ±6.17%  ±8.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='found it very'                                                                      -0.79 %       ±4.74%  ±6.31%  ±8.23%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='Gryphon'                                                                            -0.77 %       ±8.09% ±10.77% ±14.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='Gryphon'                                                                     **     10.60 %       ±7.28%  ±9.69% ±12.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='neighbouring pool'                                                                   1.65 %       ±3.77%  ±5.01%  ±6.52%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='neighbouring pool'                                                                   3.57 %       ±4.20%  ±5.59%  ±7.28%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='Ou est ma chatte?'                                                                  -0.60 %       ±4.19%  ±5.58%  ±7.26%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='Ou est ma chatte?'                                                                   5.09 %       ±8.53% ±11.36% ±14.82%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='Panther'                                                                             5.21 %       ±9.08% ±12.13% ±15.87%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='Panther'                                                                            10.12 %      ±10.76% ±14.34% ±18.70%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='Soo--oop'                                                                           -0.31 %       ±2.88%  ±3.83%  ±4.99%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='Soo--oop'                                                                           -0.86 %       ±5.21%  ±6.93%  ±9.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='SQ'                                                                                 -0.98 %       ±9.05% ±12.07% ±15.76%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='SQ'                                                                           *      8.50 %       ±8.32% ±11.08% ±14.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='binary' search='venture to go near the house till she had brought herself down to'                   0.26 %       ±4.83%  ±6.43%  ±8.36%
 buffers/buffer-indexof-encoding.js n=1000 encoding='BINARY' search='venture to go near the house till she had brought herself down to'                   5.33 %       ±7.00%  ±9.33% ±12.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='--l'                                                                                   -1.04 %      ±12.52% ±16.67% ±21.72%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='--l'                                                                             *     10.76 %      ±10.61% ±14.18% ±18.60%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='@'                                                                                      1.39 %      ±12.18% ±16.22% ±21.13%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='@'                                                                                      4.82 %       ±9.70% ±12.92% ±16.84%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='</i> to the Caterpillar'                                                               -9.65 %      ±10.43% ±13.90% ±18.12%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='</i> to the Caterpillar'                                                               -2.86 %      ±11.63% ±15.47% ±20.14%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='10x'                                                                                    1.15 %       ±8.21% ±10.92% ±14.21%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='10x'                                                                                    7.44 %       ±9.88% ±13.18% ±17.21%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='aaaaaaaaaaaaaaaaa'                                                                     -2.09 %       ±9.59% ±12.76% ±16.61%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='aaaaaaaaaaaaaaaaa'                                                                     -5.42 %       ±8.68% ±11.58% ±15.14%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='Alice'                                                                                 -2.84 %      ±10.02% ±13.33% ±17.35%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='Alice'                                                                                  5.91 %      ±11.02% ±14.69% ±19.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='among mad people'                                                                       4.06 %       ±9.56% ±12.73% ±16.57%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='among mad people'                                                                       6.67 %      ±11.03% ±14.69% ±19.15%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='found it very'                                                                          2.26 %       ±9.83% ±13.09% ±17.08%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='found it very'                                                                          2.74 %       ±8.80% ±11.74% ±15.34%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='Gryphon'                                                                               -3.29 %       ±8.22% ±10.94% ±14.23%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='Gryphon'                                                                                3.19 %       ±8.04% ±10.70% ±13.94%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='neighbouring pool'                                                                     -3.94 %       ±8.85% ±11.77% ±15.32%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='neighbouring pool'                                                                     -5.54 %       ±8.79% ±11.70% ±15.24%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='Ou est ma chatte?'                                                                     -0.42 %       ±8.99% ±11.96% ±15.57%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='Ou est ma chatte?'                                                                      1.67 %       ±6.66%  ±8.90% ±11.65%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='Panther'                                                                                0.13 %      ±11.17% ±14.86% ±19.35%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='Panther'                                                                                2.90 %       ±9.21% ±12.26% ±15.95%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='Soo--oop'                                                                              -4.78 %       ±8.65% ±11.52% ±15.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='Soo--oop'                                                                               0.80 %       ±9.22% ±12.27% ±15.96%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='SQ'                                                                                    -6.93 %       ±8.54% ±11.36% ±14.80%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='SQ'                                                                              *     -8.26 %       ±6.97%  ±9.31% ±12.19%
 buffers/buffer-indexof-encoding.js n=1000 encoding='hex' search='venture to go near the house till she had brought herself down to'                     -7.18 %       ±8.72% ±11.61% ±15.14%
 buffers/buffer-indexof-encoding.js n=1000 encoding='HEX' search='venture to go near the house till she had brought herself down to'                     -1.43 %       ±8.34% ±11.11% ±14.47%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='--l'                                                                                 0.12 %       ±8.32% ±11.07% ±14.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='--l'                                                                          *      7.99 %       ±7.09%  ±9.44% ±12.31%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='@'                                                                                  -7.61 %      ±11.06% ±14.72% ±19.16%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='@'                                                                                   5.58 %      ±10.75% ±14.34% ±18.74%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='</i> to the Caterpillar'                                                             1.07 %       ±4.48%  ±5.97%  ±7.79%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='</i> to the Caterpillar'                                                            -0.41 %       ±4.58%  ±6.10%  ±7.97%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='10x'                                                                                -1.07 %       ±7.51% ±10.00% ±13.05%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='10x'                                                                         **     16.13 %       ±9.45% ±12.57% ±16.37%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='aaaaaaaaaaaaaaaaa'                                                                   2.29 %       ±4.80%  ±6.40%  ±8.34%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='aaaaaaaaaaaaaaaaa'                                                            *      3.91 %       ±3.71%  ±4.93%  ±6.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='Alice'                                                                              -3.69 %      ±10.05% ±13.40% ±17.50%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='Alice'                                                                       **     20.67 %      ±12.39% ±16.50% ±21.49%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='among mad people'                                                                    1.64 %       ±4.65%  ±6.18%  ±8.05%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='among mad people'                                                                    4.63 %       ±6.39%  ±8.50% ±11.06%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='found it very'                                                                       0.75 %       ±3.55%  ±4.73%  ±6.16%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='found it very'                                                                      -1.17 %       ±3.12%  ±4.16%  ±5.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='Gryphon'                                                                             6.37 %       ±7.20%  ±9.59% ±12.50%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='Gryphon'                                                                      *      9.56 %       ±7.79% ±10.37% ±13.52%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='neighbouring pool'                                                                   1.45 %       ±5.01%  ±6.66%  ±8.68%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='neighbouring pool'                                                            *      3.40 %       ±3.00%  ±3.99%  ±5.19%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='Ou est ma chatte?'                                                                   4.52 %       ±7.15%  ±9.55% ±12.51%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='Ou est ma chatte?'                                                                   2.49 %       ±4.51%  ±6.00%  ±7.82%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='Panther'                                                                             3.72 %       ±7.49%  ±9.99% ±13.06%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='Panther'                                                                      *      9.72 %       ±9.21% ±12.26% ±15.96%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='Soo--oop'                                                                            2.24 %       ±3.35%  ±4.47%  ±5.83%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='Soo--oop'                                                                            3.34 %       ±4.57%  ±6.12%  ±8.04%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='SQ'                                                                                  1.99 %       ±9.16% ±12.21% ±15.92%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='SQ'                                                                                  6.11 %      ±10.60% ±14.10% ±18.35%
 buffers/buffer-indexof-encoding.js n=1000 encoding='latin1' search='venture to go near the house till she had brought herself down to'                  -1.07 %       ±6.00%  ±7.98% ±10.39%
 buffers/buffer-indexof-encoding.js n=1000 encoding='LATIN1' search='venture to go near the house till she had brought herself down to'                  -4.04 %       ±6.15%  ±8.20% ±10.71%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='--l'                                                                                 -0.04 %       ±6.34%  ±8.44% ±10.98%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='--l'                                                                                  2.04 %       ±6.65%  ±8.85% ±11.53%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='@'                                                                                   -0.56 %       ±8.70% ±11.57% ±15.06%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='@'                                                                                   -1.04 %      ±11.02% ±14.69% ±19.19%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='</i> to the Caterpillar'                                                             -3.23 %       ±5.77%  ±7.68% ±10.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='</i> to the Caterpillar'                                                             -1.50 %       ±6.33%  ±8.43% ±10.99%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='10x'                                                                                  4.63 %      ±10.10% ±13.44% ±17.51%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='10x'                                                                                  5.80 %       ±7.78% ±10.36% ±13.48%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='aaaaaaaaaaaaaaaaa'                                                                   -2.22 %       ±3.82%  ±5.09%  ±6.65%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='aaaaaaaaaaaaaaaaa'                                                                    0.83 %       ±3.46%  ±4.60%  ±6.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='Alice'                                                                                4.52 %       ±8.08% ±10.74% ±13.99%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='Alice'                                                                               -0.01 %       ±5.68%  ±7.56%  ±9.84%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='among mad people'                                                                    -1.52 %       ±5.41%  ±7.21%  ±9.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='among mad people'                                                                     4.10 %       ±4.19%  ±5.58%  ±7.30%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='found it very'                                                                       -2.83 %       ±6.45%  ±8.60% ±11.25%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='found it very'                                                                       -0.04 %       ±5.98%  ±7.96% ±10.36%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='Gryphon'                                                                              2.20 %       ±8.24% ±10.97% ±14.28%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='Gryphon'                                                                     ***     12.33 %       ±6.92%  ±9.21% ±12.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='neighbouring pool'                                                                    2.29 %       ±2.60%  ±3.47%  ±4.51%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='neighbouring pool'                                                                   -0.43 %       ±4.72%  ±6.30%  ±8.23%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='Ou est ma chatte?'                                                                    5.66 %       ±8.68% ±11.55% ±15.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='Ou est ma chatte?'                                                                    6.38 %       ±8.29% ±11.03% ±14.35%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='Panther'                                                                              4.33 %       ±9.02% ±12.00% ±15.63%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='Panther'                                                                       *      8.65 %       ±7.79% ±10.37% ±13.50%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='Soo--oop'                                                                            -1.19 %       ±8.12% ±10.81% ±14.08%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='Soo--oop'                                                                            -2.60 %       ±8.89% ±11.84% ±15.44%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='SQ'                                                                                   9.16 %       ±9.49% ±12.64% ±16.49%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='SQ'                                                                                   2.86 %       ±9.48% ±12.61% ±16.42%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs-2' search='venture to go near the house till she had brought herself down to'                   -0.38 %       ±5.95%  ±7.93% ±10.33%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS-2' search='venture to go near the house till she had brought herself down to'                    2.29 %       ±6.29%  ±8.37% ±10.89%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='--l'                                                                                   2.59 %       ±7.46%  ±9.94% ±12.96%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='--l'                                                                           **      9.55 %       ±7.01%  ±9.34% ±12.18%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='@'                                                                                    -0.41 %       ±8.44% ±11.23% ±14.61%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='@'                                                                                     2.48 %      ±10.49% ±13.95% ±18.16%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='</i> to the Caterpillar'                                                              -0.42 %       ±5.75%  ±7.66%  ±9.98%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='</i> to the Caterpillar'                                                               1.17 %       ±5.93%  ±7.90% ±10.28%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='10x'                                                                                  -2.42 %       ±8.13% ±10.85% ±14.19%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='10x'                                                                           **     15.76 %      ±10.17% ±13.57% ±17.75%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='aaaaaaaaaaaaaaaaa'                                                                    -0.82 %       ±4.41%  ±5.89%  ±7.71%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='aaaaaaaaaaaaaaaaa'                                                                     0.65 %       ±3.35%  ±4.45%  ±5.80%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='Alice'                                                                                 2.82 %       ±6.68%  ±8.88% ±11.56%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='Alice'                                                                                 4.20 %       ±7.43%  ±9.90% ±12.90%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='among mad people'                                                                     -0.92 %       ±7.42%  ±9.89% ±12.90%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='among mad people'                                                                      2.73 %       ±3.83%  ±5.10%  ±6.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='found it very'                                                                        -0.47 %       ±6.10%  ±8.14% ±10.63%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='found it very'                                                                        -3.57 %       ±6.66%  ±8.89% ±11.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='Gryphon'                                                                               0.86 %       ±7.54% ±10.03% ±13.06%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='Gryphon'                                                                               7.26 %       ±8.00% ±10.64% ±13.85%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='neighbouring pool'                                                                     0.88 %       ±3.93%  ±5.24%  ±6.85%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='neighbouring pool'                                                                     0.66 %       ±6.07%  ±8.11% ±10.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='Ou est ma chatte?'                                                                    -0.02 %       ±9.13% ±12.15% ±15.81%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='Ou est ma chatte?'                                                                     7.46 %       ±8.39% ±11.17% ±14.54%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='Panther'                                                                               6.73 %       ±7.70% ±10.26% ±13.39%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='Panther'                                                                               2.87 %       ±9.39% ±12.50% ±16.27%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='Soo--oop'                                                                             -4.53 %       ±8.72% ±11.64% ±15.20%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='Soo--oop'                                                                              5.62 %       ±7.16%  ±9.53% ±12.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='SQ'                                                                                   -0.74 %       ±7.88% ±10.50% ±13.71%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='SQ'                                                                            **     14.41 %       ±8.94% ±11.95% ±15.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='ucs2' search='venture to go near the house till she had brought herself down to'                    -3.11 %       ±5.55%  ±7.38%  ±9.61%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UCS2' search='venture to go near the house till she had brought herself down to'                    -0.64 %       ±4.74%  ±6.30%  ±8.21%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='--l'                                                                               3.09 %       ±5.98%  ±7.97% ±10.38%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='--l'                                                                               2.31 %       ±7.48%  ±9.95% ±12.95%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='@'                                                                                -7.63 %      ±10.18% ±13.55% ±17.63%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='@'                                                                                 1.27 %      ±12.27% ±16.35% ±21.31%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='</i> to the Caterpillar'                                                          -0.47 %       ±5.75%  ±7.65%  ±9.96%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='</i> to the Caterpillar'                                                          -0.04 %       ±5.21%  ±6.94%  ±9.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='10x'                                                                               6.17 %      ±10.91% ±14.52% ±18.92%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='10x'                                                                               5.69 %       ±7.58% ±10.08% ±13.13%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='aaaaaaaaaaaaaaaaa'                                                                 0.41 %       ±4.44%  ±5.91%  ±7.70%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='aaaaaaaaaaaaaaaaa'                                                                 3.05 %       ±3.57%  ±4.76%  ±6.20%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='Alice'                                                                             4.03 %       ±5.68%  ±7.57%  ±9.88%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='Alice'                                                                             1.85 %       ±6.69%  ±8.90% ±11.59%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='among mad people'                                                           *      4.18 %       ±4.12%  ±5.49%  ±7.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='among mad people'                                                                  2.53 %       ±5.68%  ±7.59%  ±9.95%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='found it very'                                                                    -0.09 %       ±5.63%  ±7.50%  ±9.77%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='found it very'                                                                    -0.95 %       ±4.74%  ±6.31%  ±8.21%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='Gryphon'                                                                          -1.30 %       ±8.84% ±11.77% ±15.33%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='Gryphon'                                                                           3.80 %       ±5.25%  ±6.98%  ±9.09%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='neighbouring pool'                                                                -2.09 %       ±3.15%  ±4.20%  ±5.49%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='neighbouring pool'                                                                 2.98 %       ±4.72%  ±6.28%  ±8.18%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='Ou est ma chatte?'                                                                 1.55 %      ±10.10% ±13.46% ±17.57%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='Ou est ma chatte?'                                                                -3.12 %       ±8.49% ±11.30% ±14.73%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='Panther'                                                                          -2.82 %       ±8.45% ±11.24% ±14.63%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='Panther'                                                                   **      9.83 %       ±6.42%  ±8.55% ±11.14%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='Soo--oop'                                                                          4.17 %       ±7.24%  ±9.66% ±12.61%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='Soo--oop'                                                                          4.08 %       ±7.48%  ±9.96% ±12.96%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='SQ'                                                                                4.01 %       ±9.08% ±12.09% ±15.74%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='SQ'                                                                                3.02 %       ±7.49%  ±9.96% ±12.97%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-16le' search='venture to go near the house till she had brought herself down to'                -5.29 %       ±9.32% ±12.41% ±16.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-16LE' search='venture to go near the house till she had brought herself down to'                 2.01 %       ±6.01%  ±8.00% ±10.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='--l'                                                                                 -2.09 %       ±6.21%  ±8.27% ±10.76%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='--l'                                                                           *      8.65 %       ±8.11% ±10.79% ±14.04%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='@'                                                                                   -4.05 %      ±10.77% ±14.33% ±18.65%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='@'                                                                            **     17.15 %      ±12.03% ±16.01% ±20.84%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='</i> to the Caterpillar'                                                       *     -5.53 %       ±5.48%  ±7.31%  ±9.56%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='</i> to the Caterpillar'                                                              3.46 %       ±7.70% ±10.24% ±13.33%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='10x'                                                                                  7.94 %       ±8.55% ±11.38% ±14.83%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='10x'                                                                         ***     23.42 %      ±10.47% ±13.93% ±18.15%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='aaaaaaaaaaaaaaaaa'                                                                    0.98 %       ±3.61%  ±4.81%  ±6.28%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='aaaaaaaaaaaaaaaaa'                                                                    0.86 %       ±5.18%  ±6.90%  ±9.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='Alice'                                                                                2.92 %      ±10.28% ±13.69% ±17.86%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='Alice'                                                                       ***     24.87 %      ±10.70% ±14.24% ±18.54%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='among mad people'                                                                     3.71 %       ±4.87%  ±6.49%  ±8.46%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='among mad people'                                                                     2.08 %       ±7.18%  ±9.55% ±12.44%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='found it very'                                                                        2.64 %       ±4.32%  ±5.76%  ±7.52%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='found it very'                                                                        0.02 %       ±4.17%  ±5.54%  ±7.21%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='Gryphon'                                                                              3.24 %       ±6.60%  ±8.79% ±11.44%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='Gryphon'                                                                              6.83 %       ±6.86%  ±9.13% ±11.89%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='neighbouring pool'                                                                    3.24 %       ±5.30%  ±7.07%  ±9.25%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='neighbouring pool'                                                                    1.13 %       ±3.17%  ±4.21%  ±5.48%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='Ou est ma chatte?'                                                                   -1.19 %       ±5.55%  ±7.39%  ±9.63%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='Ou est ma chatte?'                                                                    3.99 %       ±6.71%  ±8.93% ±11.64%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='Panther'                                                                              3.25 %       ±8.11% ±10.79% ±14.04%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='Panther'                                                                              7.81 %       ±9.16% ±12.20% ±15.89%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='Soo--oop'                                                                             1.81 %       ±3.55%  ±4.73%  ±6.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='Soo--oop'                                                                             1.15 %       ±3.31%  ±4.42%  ±5.78%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='SQ'                                                                                   3.32 %       ±9.47% ±12.61% ±16.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='SQ'                                                                           **     17.66 %      ±12.07% ±16.06% ±20.91%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf-8' search='venture to go near the house till she had brought herself down to'                    1.34 %       ±4.32%  ±5.76%  ±7.49%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF-8' search='venture to go near the house till she had brought herself down to'                   -1.02 %       ±4.68%  ±6.23%  ±8.12%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='--l'                                                                                0.49 %       ±5.03%  ±6.69%  ±8.71%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='--l'                                                                                4.84 %       ±7.61% ±10.12% ±13.17%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='@'                                                                                 -5.81 %      ±10.98% ±14.61% ±19.03%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='@'                                                                                  0.05 %      ±10.29% ±13.69% ±17.83%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='</i> to the Caterpillar'                                                           -0.24 %       ±5.59%  ±7.44%  ±9.69%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='</i> to the Caterpillar'                                                           -1.05 %       ±6.29%  ±8.37% ±10.90%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='10x'                                                                               -1.19 %       ±9.22% ±12.26% ±15.96%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='10x'                                                                                8.69 %       ±9.57% ±12.73% ±16.57%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='aaaaaaaaaaaaaaaaa'                                                                 -2.61 %       ±5.30%  ±7.06%  ±9.21%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='aaaaaaaaaaaaaaaaa'                                                                 -0.62 %       ±3.27%  ±4.36%  ±5.67%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='Alice'                                                                              5.80 %       ±6.08%  ±8.12% ±10.61%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='Alice'                                                                              6.74 %       ±7.93% ±10.59% ±13.87%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='among mad people'                                                                  -0.32 %       ±5.81%  ±7.74% ±10.07%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='among mad people'                                                                  -1.09 %       ±4.01%  ±5.33%  ±6.94%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='found it very'                                                                      0.25 %       ±5.19%  ±6.91%  ±9.01%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='found it very'                                                                      3.00 %       ±5.56%  ±7.39%  ±9.62%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='Gryphon'                                                                            2.58 %       ±9.78% ±13.02% ±16.94%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='Gryphon'                                                                            5.73 %       ±7.40%  ±9.85% ±12.82%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='neighbouring pool'                                                                  0.20 %       ±4.25%  ±5.67%  ±7.41%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='neighbouring pool'                                                                 -0.96 %       ±3.58%  ±4.76%  ±6.20%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='Ou est ma chatte?'                                                                 -0.15 %       ±7.91% ±10.53% ±13.72%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='Ou est ma chatte?'                                                                 -1.53 %       ±7.36%  ±9.80% ±12.77%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='Panther'                                                                            2.73 %       ±6.89%  ±9.17% ±11.94%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='Panther'                                                                           -7.07 %       ±8.03% ±10.68% ±13.91%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='Soo--oop'                                                                          -4.09 %      ±10.23% ±13.62% ±17.73%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='Soo--oop'                                                                           6.29 %       ±8.01% ±10.66% ±13.88%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='SQ'                                                                                -4.69 %       ±8.96% ±11.92% ±15.52%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='SQ'                                                                         **     13.53 %      ±10.01% ±13.36% ±17.48%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf16le' search='venture to go near the house till she had brought herself down to'                  2.16 %       ±6.80%  ±9.05% ±11.78%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF16LE' search='venture to go near the house till she had brought herself down to'                  0.72 %       ±6.68%  ±8.88% ±11.56%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='--l'                                                                                  -1.90 %       ±7.28%  ±9.69% ±12.62%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='--l'                                                                            *      9.86 %       ±8.83% ±11.77% ±15.35%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='@'                                                                                     5.29 %      ±14.76% ±19.65% ±25.58%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='@'                                                                            ***     20.70 %      ±11.27% ±15.01% ±19.58%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='</i> to the Caterpillar'                                                              -2.25 %       ±3.97%  ±5.29%  ±6.89%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='</i> to the Caterpillar'                                                               4.03 %       ±5.62%  ±7.49%  ±9.77%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='10x'                                                                                   5.18 %       ±9.84% ±13.15% ±17.22%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='10x'                                                                          ***     22.00 %       ±8.54% ±11.38% ±14.84%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='aaaaaaaaaaaaaaaaa'                                                                     2.97 %       ±4.46%  ±5.95%  ±7.75%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='aaaaaaaaaaaaaaaaa'                                                                    -3.35 %       ±5.03%  ±6.73%  ±8.81%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='Alice'                                                                                 0.37 %      ±11.39% ±15.15% ±19.72%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='Alice'                                                                        ***     26.06 %      ±12.16% ±16.18% ±21.06%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='among mad people'                                                                      3.17 %       ±5.19%  ±6.91%  ±9.00%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='among mad people'                                                                     -0.58 %       ±4.22%  ±5.62%  ±7.31%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='found it very'                                                                         2.21 %       ±4.42%  ±5.89%  ±7.70%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='found it very'                                                                         0.58 %       ±3.03%  ±4.03%  ±5.25%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='Gryphon'                                                                              10.05 %      ±10.30% ±13.71% ±17.86%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='Gryphon'                                                                               6.69 %       ±9.05% ±12.04% ±15.67%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='neighbouring pool'                                                                     1.56 %       ±3.93%  ±5.24%  ±6.84%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='neighbouring pool'                                                                     3.57 %       ±4.19%  ±5.58%  ±7.28%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='Ou est ma chatte?'                                                                     1.86 %       ±5.45%  ±7.26%  ±9.45%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='Ou est ma chatte?'                                                                     2.08 %       ±5.62%  ±7.47%  ±9.73%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='Panther'                                                                               4.32 %       ±9.51% ±12.67% ±16.53%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='Panther'                                                                               5.71 %      ±10.84% ±14.42% ±18.77%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='Soo--oop'                                                                              2.00 %       ±4.88%  ±6.50%  ±8.48%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='Soo--oop'                                                                       *      4.63 %       ±4.09%  ±5.47%  ±7.19%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='SQ'                                                                                    6.08 %       ±8.28% ±11.03% ±14.39%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='SQ'                                                                           ***     18.05 %       ±8.55% ±11.38% ±14.81%
 buffers/buffer-indexof-encoding.js n=1000 encoding='utf8' search='venture to go near the house till she had brought herself down to'                     0.41 %       ±5.88%  ±7.82% ±10.19%
 buffers/buffer-indexof-encoding.js n=1000 encoding='UTF8' search='venture to go near the house till she had brought herself down to'                     3.46 %       ±4.91%  ±6.53%  ±8.50%

Copy link
Member

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the combination with the length check not yield better results?

And we already have a indexOf benchmark, so I suggest to remove the new one again. It is good to have your numbers for this specific PR but otherwise the new benchmark seems too excessive.

@ZYSzys
Copy link
Member Author

ZYSzys commented Mar 6, 2019

Does the combination with the length check not yield better results?

It seems that the combination with the length check wasn't so ideal.(like the first benchmark results showed)

And we already have a indexOf benchmark, so I suggest to remove the new one again. It is good to have your numbers for this specific PR but otherwise the new benchmark seems too excessive.

I'll remove the new one and add more encoding options into buffers/buffer-indexof.js benchmark so that it can show measurable impact.👍

@ZYSzys
Copy link
Member Author

ZYSzys commented Mar 7, 2019

Latest benchmark results after @BridgeAR 's suggestion:

$ cat compare-buffer-indexof.csv | Rscript benchmark/compare.R                                                                 
                                                                                                                                                confidence improvement accuracy (*)    (**)   (***)
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='--l'                                                                                   0.35 %       ±9.48% ±12.61% ±16.43%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='--l'                                                                                  -1.52 %       ±7.89% ±10.50% ±13.68%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='@'                                                                                    -1.58 %      ±11.54% ±15.35% ±19.98%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='@'                                                                                     2.57 %       ±8.11% ±10.79% ±14.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='</i> to the Caterpillar'                                                               0.43 %       ±7.25%  ±9.65% ±12.56%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='</i> to the Caterpillar'                                                              -2.05 %       ±6.94%  ±9.24% ±12.03%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='10x'                                                                                   5.07 %       ±8.40% ±11.19% ±14.56%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='10x'                                                                                   6.05 %      ±10.47% ±13.94% ±18.18%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='aaaaaaaaaaaaaaaaa'                                                                     0.70 %       ±4.23%  ±5.63%  ±7.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='aaaaaaaaaaaaaaaaa'                                                                     1.81 %       ±6.38%  ±8.53% ±11.16%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='Alice'                                                                                 4.01 %       ±8.68% ±11.56% ±15.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='Alice'                                                                                -3.12 %      ±11.51% ±15.31% ±19.93%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='among mad people'                                                                      4.09 %       ±7.06%  ±9.41% ±12.30%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='among mad people'                                                                     -1.17 %       ±5.62%  ±7.48%  ±9.74%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='found it very'                                                                        -1.12 %       ±4.16%  ±5.54%  ±7.21%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='found it very'                                                                         1.09 %       ±4.16%  ±5.54%  ±7.24%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='Gryphon'                                                                               3.67 %       ±8.77% ±11.68% ±15.20%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='Gryphon'                                                                               0.18 %       ±8.83% ±11.75% ±15.30%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='neighbouring pool'                                                                     1.78 %       ±5.36%  ±7.14%  ±9.32%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='neighbouring pool'                                                                     4.39 %       ±5.86%  ±7.83% ±10.27%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='Ou est ma chatte?'                                                                     3.32 %       ±5.96%  ±7.94% ±10.37%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='Ou est ma chatte?'                                                                     1.24 %       ±7.05%  ±9.39% ±12.22%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='Panther'                                                                               1.25 %       ±9.85% ±13.13% ±17.14%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='Panther'                                                                               6.32 %      ±10.19% ±13.57% ±17.69%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='Soo--oop'                                                                              0.61 %       ±3.62%  ±4.82%  ±6.28%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='Soo--oop'                                                                              1.12 %       ±6.13%  ±8.18% ±10.70%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='SQ'                                                                                    0.98 %       ±8.59% ±11.43% ±14.87%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='SQ'                                                                                   -0.17 %       ±9.35% ±12.44% ±16.20%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ascii' search='venture to go near the house till she had brought herself down to'                     1.83 %       ±6.86%  ±9.14% ±11.93%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ASCII' search='venture to go near the house till she had brought herself down to'                    -1.19 %       ±5.89%  ±7.84% ±10.21%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='--l'                                                                                  3.58 %       ±9.13% ±12.15% ±15.82%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='--l'                                                                                 -1.30 %       ±7.78% ±10.36% ±13.51%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='@'                                                                                    7.66 %       ±9.99% ±13.31% ±17.37%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='@'                                                                                   -2.33 %      ±10.25% ±13.65% ±17.78%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='</i> to the Caterpillar'                                                             -0.21 %       ±9.44% ±12.56% ±16.35%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='</i> to the Caterpillar'                                                             -4.60 %      ±11.12% ±14.80% ±19.26%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='10x'                                                                                 -2.83 %      ±10.56% ±14.05% ±18.29%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='10x'                                                                                  6.81 %       ±7.60% ±10.11% ±13.15%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='aaaaaaaaaaaaaaaaa'                                                                    1.45 %       ±6.52%  ±8.68% ±11.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='aaaaaaaaaaaaaaaaa'                                                                    0.54 %       ±7.14%  ±9.50% ±12.36%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='Alice'                                                                                3.93 %      ±10.28% ±13.69% ±17.82%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='Alice'                                                                               -2.15 %       ±8.94% ±11.90% ±15.49%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='among mad people'                                                                    -0.14 %       ±5.18%  ±6.89%  ±8.96%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='among mad people'                                                                    -0.89 %       ±5.31%  ±7.06%  ±9.20%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='found it very'                                                                        3.95 %      ±11.30% ±15.04% ±19.59%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='found it very'                                                                        1.71 %       ±9.43% ±12.55% ±16.34%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='Gryphon'                                                                              1.92 %      ±10.17% ±13.53% ±17.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='Gryphon'                                                                              2.51 %      ±10.58% ±14.08% ±18.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='neighbouring pool'                                                                   10.58 %      ±12.43% ±16.56% ±21.60%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='neighbouring pool'                                                                    5.16 %       ±9.84% ±13.10% ±17.08%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='Ou est ma chatte?'                                                                    1.96 %       ±3.97%  ±5.29%  ±6.89%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='Ou est ma chatte?'                                                                    0.53 %       ±4.92%  ±6.54%  ±8.52%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='Panther'                                                                       *     12.95 %      ±10.95% ±14.58% ±19.02%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='Panther'                                                                              0.17 %       ±8.90% ±11.84% ±15.41%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='Soo--oop'                                                                             7.89 %       ±9.31% ±12.41% ±16.18%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='Soo--oop'                                                                             6.06 %       ±7.99% ±10.64% ±13.87%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='SQ'                                                                                   8.17 %       ±8.82% ±11.77% ±15.39%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='SQ'                                                                                  -9.07 %      ±10.82% ±14.45% ±18.91%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='base64' search='venture to go near the house till she had brought herself down to'                   -0.87 %       ±9.51% ±12.66% ±16.48%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BASE64' search='venture to go near the house till she had brought herself down to'                   -2.47 %      ±11.79% ±15.68% ±20.41%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='--l'                                                                                 -3.40 %       ±8.22% ±10.94% ±14.23%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='--l'                                                                                  0.61 %       ±7.68% ±10.23% ±13.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='@'                                                                                    2.68 %       ±7.57% ±10.08% ±13.14%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='@'                                                                                   -0.24 %       ±8.09% ±10.78% ±14.04%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='</i> to the Caterpillar'                                                             -2.34 %       ±7.02%  ±9.33% ±12.15%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='</i> to the Caterpillar'                                                              1.07 %       ±6.64%  ±8.87% ±11.60%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='10x'                                                                                 -4.44 %       ±7.81% ±10.42% ±13.62%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='10x'                                                                                  3.11 %       ±8.84% ±11.76% ±15.31%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='aaaaaaaaaaaaaaaaa'                                                                    1.47 %       ±5.71%  ±7.64% ±10.02%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='aaaaaaaaaaaaaaaaa'                                                                    1.60 %       ±5.74%  ±7.63%  ±9.94%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='Alice'                                                                               -1.17 %       ±9.38% ±12.48% ±16.25%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='Alice'                                                                                2.55 %       ±9.86% ±13.14% ±17.13%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='among mad people'                                                                     0.36 %       ±4.92%  ±6.55%  ±8.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='among mad people'                                                                    -0.15 %       ±5.13%  ±6.83%  ±8.89%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='found it very'                                                                        2.20 %       ±5.01%  ±6.68%  ±8.72%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='found it very'                                                                        1.20 %       ±4.78%  ±6.37%  ±8.32%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='Gryphon'                                                                              1.59 %       ±8.68% ±11.55% ±15.03%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='Gryphon'                                                                             -0.69 %       ±9.31% ±12.39% ±16.13%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='neighbouring pool'                                                                    2.51 %       ±4.67%  ±6.22%  ±8.11%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='neighbouring pool'                                                                   -0.47 %       ±4.71%  ±6.27%  ±8.16%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='Ou est ma chatte?'                                                                    2.28 %       ±6.30%  ±8.38% ±10.91%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='Ou est ma chatte?'                                                                   -1.43 %       ±5.50%  ±7.32%  ±9.52%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='Panther'                                                                              6.71 %       ±9.50% ±12.66% ±16.51%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='Panther'                                                                              5.05 %      ±10.73% ±14.30% ±18.67%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='Soo--oop'                                                                             2.22 %       ±3.73%  ±4.96%  ±6.47%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='Soo--oop'                                                                            -0.00 %       ±3.96%  ±5.26%  ±6.85%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='SQ'                                                                                   4.50 %       ±9.03% ±12.02% ±15.65%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='SQ'                                                                                  -5.19 %       ±7.97% ±10.64% ±13.92%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='binary' search='venture to go near the house till she had brought herself down to'                   -3.51 %       ±6.27%  ±8.35% ±10.91%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='BINARY' search='venture to go near the house till she had brought herself down to'                    1.41 %       ±7.69% ±10.24% ±13.34%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='--l'                                                                                     1.07 %      ±10.68% ±14.21% ±18.50%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='--l'                                                                                     2.85 %       ±7.75% ±10.32% ±13.44%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='@'                                                                                      -4.89 %      ±10.95% ±14.57% ±18.97%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='@'                                                                                       0.60 %       ±9.96% ±13.25% ±17.24%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='</i> to the Caterpillar'                                                                 2.00 %       ±9.48% ±12.61% ±16.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='</i> to the Caterpillar'                                                                -2.70 %       ±9.72% ±12.94% ±16.86%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='10x'                                                                                     5.16 %       ±8.80% ±11.71% ±15.24%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='10x'                                                                                     8.68 %      ±10.57% ±14.07% ±18.32%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='aaaaaaaaaaaaaaaaa'                                                                      -0.40 %      ±10.25% ±13.64% ±17.75%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='aaaaaaaaaaaaaaaaa'                                                                      -0.01 %      ±12.29% ±16.36% ±21.31%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='Alice'                                                                                  -1.84 %       ±7.36%  ±9.79% ±12.74%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='Alice'                                                                                  -4.83 %      ±10.34% ±13.76% ±17.93%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='among mad people'                                                                       -0.89 %      ±10.02% ±13.33% ±17.35%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='among mad people'                                                                       -2.25 %       ±9.05% ±12.05% ±15.68%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='found it very'                                                                           9.81 %      ±10.25% ±13.67% ±17.84%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='found it very'                                                                           2.57 %       ±8.71% ±11.62% ±15.18%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='Gryphon'                                                                                 7.70 %      ±10.99% ±14.65% ±19.11%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='Gryphon'                                                                                 3.95 %      ±11.21% ±14.92% ±19.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='neighbouring pool'                                                                      -2.99 %      ±10.28% ±13.68% ±17.81%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='neighbouring pool'                                                                       3.47 %      ±10.26% ±13.67% ±17.85%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='Ou est ma chatte?'                                                                       5.53 %      ±12.98% ±17.29% ±22.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='Ou est ma chatte?'                                                                       4.25 %      ±12.24% ±16.29% ±21.21%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='Panther'                                                                                 7.46 %      ±12.42% ±16.54% ±21.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='Panther'                                                                                 8.41 %      ±11.17% ±14.90% ±19.47%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='Soo--oop'                                                                                5.77 %       ±9.87% ±13.16% ±17.17%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='Soo--oop'                                                                                4.97 %       ±8.41% ±11.25% ±14.75%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='SQ'                                                                                     -1.19 %       ±9.62% ±12.80% ±16.66%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='SQ'                                                                                      8.71 %      ±10.97% ±14.61% ±19.04%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='hex' search='venture to go near the house till she had brought herself down to'                      -6.28 %       ±8.26% ±11.02% ±14.38%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='HEX' search='venture to go near the house till she had brought herself down to'                       0.03 %      ±11.11% ±14.78% ±19.23%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='--l'                                                                                  1.21 %       ±6.10%  ±8.12% ±10.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='--l'                                                                                 -1.70 %       ±7.47%  ±9.94% ±12.93%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='@'                                                                                    3.57 %       ±9.72% ±12.93% ±16.83%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='@'                                                                                    0.88 %       ±7.85% ±10.45% ±13.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='</i> to the Caterpillar'                                                             -3.03 %       ±5.69%  ±7.57%  ±9.86%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='</i> to the Caterpillar'                                                             -0.73 %       ±6.31%  ±8.43% ±11.04%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='10x'                                                                                  2.29 %       ±7.87% ±10.48% ±13.64%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='10x'                                                                                 -1.29 %       ±9.35% ±12.44% ±16.20%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='aaaaaaaaaaaaaaaaa'                                                                    0.34 %       ±5.41%  ±7.22%  ±9.41%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='aaaaaaaaaaaaaaaaa'                                                                    2.87 %       ±7.12%  ±9.52% ±12.46%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='Alice'                                                                               -7.30 %      ±10.35% ±13.79% ±17.97%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='Alice'                                                                               -5.31 %      ±10.03% ±13.37% ±17.45%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='among mad people'                                                                    -0.94 %       ±7.06%  ±9.39% ±12.23%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='among mad people'                                                                     4.32 %       ±7.00%  ±9.34% ±12.20%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='found it very'                                                                        2.71 %       ±5.97%  ±7.97% ±10.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='found it very'                                                                        2.60 %       ±4.76%  ±6.36%  ±8.31%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='Gryphon'                                                                              4.65 %       ±9.93% ±13.25% ±17.32%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='Gryphon'                                                                             -1.92 %      ±11.30% ±15.04% ±19.58%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='neighbouring pool'                                                                    2.68 %       ±5.46%  ±7.30%  ±9.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='neighbouring pool'                                                                    1.92 %       ±5.01%  ±6.68%  ±8.72%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='Ou est ma chatte?'                                                                    1.15 %       ±5.98%  ±7.96% ±10.36%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='Ou est ma chatte?'                                                                    5.58 %       ±6.25%  ±8.33% ±10.86%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='Panther'                                                                              4.35 %       ±9.51% ±12.66% ±16.48%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='Panther'                                                                              3.43 %       ±9.23% ±12.29% ±16.00%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='Soo--oop'                                                                             1.64 %       ±4.35%  ±5.79%  ±7.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='Soo--oop'                                                                             1.60 %       ±3.90%  ±5.19%  ±6.75%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='SQ'                                                                                   5.68 %       ±8.23% ±10.94% ±14.24%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='SQ'                                                                                  -2.82 %       ±9.62% ±12.81% ±16.71%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='latin1' search='venture to go near the house till she had brought herself down to'                   -2.50 %       ±8.01% ±10.66% ±13.87%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='LATIN1' search='venture to go near the house till she had brought herself down to'                   -2.92 %       ±7.25%  ±9.65% ±12.56%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='--l'                                                                                   0.78 %       ±9.79% ±13.04% ±17.00%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='--l'                                                                                   0.57 %       ±8.52% ±11.34% ±14.76%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='@'                                                                                     3.20 %       ±9.21% ±12.25% ±15.94%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='@'                                                                                    -2.72 %       ±9.58% ±12.77% ±16.65%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='</i> to the Caterpillar'                                                              -0.52 %       ±8.56% ±11.39% ±14.83%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='</i> to the Caterpillar'                                                               2.68 %       ±7.31%  ±9.73% ±12.66%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='10x'                                                                                   2.70 %       ±7.75% ±10.31% ±13.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='10x'                                                                                   1.26 %       ±8.92% ±11.87% ±15.45%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='aaaaaaaaaaaaaaaaa'                                                                     3.20 %       ±5.25%  ±7.00%  ±9.15%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='aaaaaaaaaaaaaaaaa'                                                                    -0.45 %       ±3.95%  ±5.26%  ±6.84%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='Alice'                                                                                 1.24 %       ±7.33%  ±9.75% ±12.69%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='Alice'                                                                                -0.24 %       ±5.71%  ±7.59%  ±9.88%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='among mad people'                                                                      2.33 %       ±5.42%  ±7.24%  ±9.47%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='among mad people'                                                               *      6.57 %       ±6.13%  ±8.20% ±10.76%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='found it very'                                                                         2.71 %       ±5.35%  ±7.13%  ±9.29%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='found it very'                                                                         1.38 %       ±6.16%  ±8.21% ±10.71%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='Gryphon'                                                                               4.01 %       ±8.15% ±10.84% ±14.11%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='Gryphon'                                                                               1.61 %       ±9.55% ±12.72% ±16.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='neighbouring pool'                                                                     2.19 %       ±5.21%  ±6.94%  ±9.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='neighbouring pool'                                                                    -1.79 %       ±6.05%  ±8.06% ±10.50%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='Ou est ma chatte?'                                                                     2.72 %       ±8.25% ±10.99% ±14.31%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='Ou est ma chatte?'                                                                     6.04 %       ±9.79% ±13.02% ±16.95%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='Panther'                                                                               1.84 %       ±9.23% ±12.29% ±15.99%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='Panther'                                                                               6.74 %       ±7.79% ±10.38% ±13.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='Soo--oop'                                                                              1.22 %       ±8.10% ±10.78% ±14.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='Soo--oop'                                                                             -1.58 %       ±7.99% ±10.63% ±13.83%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='SQ'                                                                                    5.07 %      ±11.76% ±15.69% ±20.50%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='SQ'                                                                                    3.31 %       ±7.88% ±10.49% ±13.66%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs-2' search='venture to go near the house till she had brought herself down to'                    -2.77 %       ±6.96%  ±9.26% ±12.07%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS-2' search='venture to go near the house till she had brought herself down to'                     3.03 %       ±9.15% ±12.18% ±15.85%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='--l'                                                                                   -0.58 %       ±7.24%  ±9.64% ±12.58%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='--l'                                                                             *     10.29 %       ±8.57% ±11.42% ±14.88%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='@'                                                                                     -2.30 %      ±13.09% ±17.42% ±22.68%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='@'                                                                                     -1.34 %       ±8.81% ±11.73% ±15.27%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='</i> to the Caterpillar'                                                                0.14 %       ±8.13% ±10.82% ±14.08%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='</i> to the Caterpillar'                                                               -1.35 %       ±6.79%  ±9.04% ±11.76%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='10x'                                                                                   -1.74 %       ±9.36% ±12.46% ±16.23%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='10x'                                                                                   -2.12 %       ±9.31% ±12.40% ±16.15%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='aaaaaaaaaaaaaaaaa'                                                                      4.77 %       ±5.40%  ±7.20%  ±9.38%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='aaaaaaaaaaaaaaaaa'                                                                      4.41 %       ±5.59%  ±7.47%  ±9.78%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='Alice'                                                                                  3.32 %       ±6.70%  ±8.92% ±11.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='Alice'                                                                                 -4.20 %       ±7.72% ±10.28% ±13.39%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='among mad people'                                                                       3.13 %       ±5.89%  ±7.84% ±10.20%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='among mad people'                                                                       1.34 %       ±4.20%  ±5.59%  ±7.28%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='found it very'                                                                          1.06 %       ±6.05%  ±8.05% ±10.50%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='found it very'                                                                          5.86 %       ±7.35%  ±9.78% ±12.73%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='Gryphon'                                                                                9.08 %      ±10.81% ±14.41% ±18.80%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='Gryphon'                                                                                3.16 %       ±8.90% ±11.85% ±15.43%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='neighbouring pool'                                                                      3.13 %       ±3.68%  ±4.90%  ±6.39%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='neighbouring pool'                                                                      2.62 %       ±4.46%  ±5.95%  ±7.78%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='Ou est ma chatte?'                                                                      5.82 %       ±9.40% ±12.52% ±16.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='Ou est ma chatte?'                                                                     -1.71 %      ±10.39% ±13.83% ±18.01%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='Panther'                                                                                4.96 %       ±9.12% ±12.14% ±15.80%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='Panther'                                                                                4.59 %      ±10.24% ±13.63% ±17.76%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='Soo--oop'                                                                               3.67 %       ±6.31%  ±8.40% ±10.94%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='Soo--oop'                                                                               2.87 %       ±8.22% ±10.94% ±14.25%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='SQ'                                                                                    -5.99 %       ±8.65% ±11.53% ±15.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='SQ'                                                                                     6.83 %       ±9.07% ±12.07% ±15.73%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='ucs2' search='venture to go near the house till she had brought herself down to'              **     -8.21 %       ±5.53%  ±7.36%  ±9.59%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UCS2' search='venture to go near the house till she had brought herself down to'                     -1.69 %       ±9.25% ±12.32% ±16.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='--l'                                                                              -2.06 %       ±7.58% ±10.08% ±13.12%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='@'                                                                                -4.33 %       ±9.20% ±12.28% ±16.06%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='</i> to the Caterpillar'                                                           3.22 %       ±5.85%  ±7.83% ±10.27%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='10x'                                                                               4.22 %       ±8.21% ±10.92% ±14.21%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='aaaaaaaaaaaaaaaaa'                                                                -1.04 %       ±8.15% ±10.86% ±14.17%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='Alice'                                                                            -0.75 %       ±9.08% ±12.08% ±15.72%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='among mad people'                                                                  2.35 %       ±5.16%  ±6.88%  ±8.96%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='found it very'                                                                     1.92 %       ±4.44%  ±5.92%  ±7.72%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='Gryphon'                                                                           5.31 %      ±10.72% ±14.26% ±18.56%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='neighbouring pool'                                                                 0.85 %       ±6.20%  ±8.29% ±10.87%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='Ou est ma chatte?'                                                                 1.86 %       ±7.96% ±10.59% ±13.79%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='Panther'                                                                           5.89 %       ±8.99% ±11.98% ±15.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='Soo--oop'                                                                          0.33 %       ±3.67%  ±4.89%  ±6.36%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='SQ'                                                                                3.10 %       ±8.29% ±11.03% ±14.36%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='undefined' search='venture to go near the house till she had brought herself down to'                 5.09 %       ±8.42% ±11.22% ±14.65%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='--l'                                                                               -5.28 %       ±7.23%  ±9.63% ±12.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='--l'                                                                                0.35 %       ±7.35%  ±9.78% ±12.73%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='@'                                                                                  5.92 %      ±11.24% ±14.96% ±19.50%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='@'                                                                                 -5.04 %       ±6.81%  ±9.07% ±11.83%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='</i> to the Caterpillar'                                                           -0.37 %       ±7.32%  ±9.73% ±12.67%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='</i> to the Caterpillar'                                                           -3.03 %       ±6.78%  ±9.02% ±11.74%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='10x'                                                                                3.03 %       ±9.15% ±12.20% ±15.91%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='10x'                                                                                0.55 %      ±10.73% ±14.27% ±18.59%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='aaaaaaaaaaaaaaaaa'                                                                  2.48 %       ±5.06%  ±6.73%  ±8.77%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='aaaaaaaaaaaaaaaaa'                                                                  2.10 %       ±6.24%  ±8.33% ±10.89%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='Alice'                                                                             -1.35 %       ±6.64%  ±8.84% ±11.53%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='Alice'                                                                             -1.45 %       ±7.68% ±10.25% ±13.40%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='among mad people'                                                                   0.92 %       ±6.41%  ±8.54% ±11.14%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='among mad people'                                                                   2.68 %       ±4.65%  ±6.21%  ±8.13%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='found it very'                                                                      3.48 %       ±6.21%  ±8.27% ±10.77%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='found it very'                                                                      6.84 %       ±7.46%  ±9.96% ±13.04%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='Gryphon'                                                                            6.17 %       ±9.97% ±13.30% ±17.37%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='Gryphon'                                                                           -0.93 %       ±8.48% ±11.28% ±14.70%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='neighbouring pool'                                                                  1.09 %       ±4.70%  ±6.26%  ±8.17%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='neighbouring pool'                                                                 -0.05 %       ±6.03%  ±8.04% ±10.49%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='Ou est ma chatte?'                                                                 -3.54 %       ±8.19% ±10.90% ±14.18%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='Ou est ma chatte?'                                                                  4.71 %       ±8.22% ±10.94% ±14.25%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='Panther'                                                                            1.15 %       ±8.64% ±11.50% ±14.99%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='Panther'                                                                            2.76 %       ±7.45%  ±9.92% ±12.92%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='Soo--oop'                                                                          -1.05 %       ±7.37%  ±9.81% ±12.77%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='Soo--oop'                                                                           1.11 %       ±9.36% ±12.46% ±16.23%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='SQ'                                                                                 3.25 %       ±7.74% ±10.31% ±13.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='SQ'                                                                                 3.72 %       ±7.71% ±10.26% ±13.36%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-16le' search='venture to go near the house till she had brought herself down to'                 -0.68 %       ±6.32%  ±8.42% ±10.96%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-16LE' search='venture to go near the house till she had brought herself down to'                 -0.95 %       ±7.91% ±10.54% ±13.73%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='--l'                                                                                  -1.55 %       ±7.31%  ±9.72% ±12.66%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='--l'                                                                                   0.53 %       ±7.99% ±10.63% ±13.84%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='@'                                                                                    -0.00 %       ±7.11%  ±9.47% ±12.34%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='@'                                                                                    -0.74 %       ±9.09% ±12.11% ±15.78%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='</i> to the Caterpillar'                                                              -2.36 %       ±6.82%  ±9.07% ±11.80%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='</i> to the Caterpillar'                                                              -1.91 %       ±6.06%  ±8.07% ±10.50%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='10x'                                                                                  -5.68 %       ±8.35% ±11.11% ±14.47%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='10x'                                                                                  -1.96 %       ±7.26%  ±9.66% ±12.58%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='aaaaaaaaaaaaaaaaa'                                                                     1.96 %       ±5.14%  ±6.88%  ±9.03%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='aaaaaaaaaaaaaaaaa'                                                                    -3.17 %       ±4.82%  ±6.44%  ±8.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='Alice'                                                                                 4.77 %       ±9.84% ±13.10% ±17.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='Alice'                                                                                -6.18 %      ±10.04% ±13.38% ±17.43%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='among mad people'                                                                      4.92 %       ±7.68% ±10.23% ±13.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='among mad people'                                                                      0.90 %       ±6.54%  ±8.70% ±11.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='found it very'                                                                         3.60 %       ±4.94%  ±6.60%  ±8.64%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='found it very'                                                                  *      5.13 %       ±4.45%  ±5.94%  ±7.78%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='Gryphon'                                                                        *     13.44 %      ±11.17% ±14.89% ±19.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='Gryphon'                                                                               3.94 %       ±9.68% ±12.88% ±16.76%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='neighbouring pool'                                                                     1.11 %       ±4.09%  ±5.45%  ±7.10%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='neighbouring pool'                                                                     1.53 %       ±5.28%  ±7.06%  ±9.24%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='Ou est ma chatte?'                                                                     1.78 %       ±5.35%  ±7.13%  ±9.29%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='Ou est ma chatte?'                                                                     4.62 %       ±6.59%  ±8.76% ±11.41%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='Panther'                                                                               1.95 %       ±7.75% ±10.31% ±13.43%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='Panther'                                                                              -1.95 %       ±9.70% ±12.91% ±16.81%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='Soo--oop'                                                                              0.79 %       ±5.33%  ±7.09%  ±9.24%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='Soo--oop'                                                                             -2.46 %       ±6.07%  ±8.09% ±10.55%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='SQ'                                                                                    0.26 %       ±8.87% ±11.80% ±15.36%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='SQ'                                                                                   -2.30 %       ±8.30% ±11.05% ±14.39%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf-8' search='venture to go near the house till she had brought herself down to'                    -1.74 %       ±6.89%  ±9.19% ±12.00%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF-8' search='venture to go near the house till she had brought herself down to'                     0.21 %       ±7.28%  ±9.69% ±12.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='--l'                                                                                 1.34 %       ±7.35%  ±9.78% ±12.73%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='--l'                                                                                 0.42 %       ±8.03% ±10.70% ±13.94%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='@'                                                                                  -2.97 %       ±9.99% ±13.30% ±17.30%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='@'                                                                                   1.47 %      ±10.90% ±14.51% ±18.89%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='</i> to the Caterpillar'                                                            -3.90 %       ±7.40%  ±9.85% ±12.83%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='</i> to the Caterpillar'                                                            -2.21 %       ±8.23% ±10.95% ±14.25%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='10x'                                                                                -1.52 %      ±10.67% ±14.22% ±18.53%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='10x'                                                                                -4.32 %       ±9.12% ±12.14% ±15.81%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='aaaaaaaaaaaaaaaaa'                                                                   1.61 %       ±5.25%  ±6.99%  ±9.10%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='aaaaaaaaaaaaaaaaa'                                                                  -0.52 %       ±7.22%  ±9.61% ±12.51%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='Alice'                                                                              -0.13 %       ±7.01%  ±9.33% ±12.15%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='Alice'                                                                               0.52 %       ±8.97% ±11.94% ±15.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='among mad people'                                                                    2.22 %       ±5.30%  ±7.07%  ±9.23%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='among mad people'                                                                    1.35 %       ±7.17%  ±9.55% ±12.44%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='found it very'                                                                       0.64 %       ±4.97%  ±6.62%  ±8.64%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='found it very'                                                                       5.02 %       ±5.54%  ±7.37%  ±9.62%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='Gryphon'                                                                             5.57 %       ±9.91% ±13.19% ±17.17%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='Gryphon'                                                                             6.73 %       ±9.73% ±12.99% ±17.00%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='neighbouring pool'                                                                   4.67 %       ±6.77%  ±9.05% ±11.86%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='neighbouring pool'                                                                   2.78 %       ±7.17%  ±9.54% ±12.44%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='Ou est ma chatte?'                                                                   8.38 %       ±9.76% ±12.99% ±16.91%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='Ou est ma chatte?'                                                                   5.92 %      ±10.14% ±13.49% ±17.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='Panther'                                                                             2.36 %       ±7.68% ±10.23% ±13.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='Panther'                                                                             2.64 %       ±9.01% ±11.99% ±15.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='Soo--oop'                                                                           -3.49 %       ±9.22% ±12.29% ±16.03%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='Soo--oop'                                                                           -4.46 %       ±7.10%  ±9.45% ±12.30%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='SQ'                                                                                 -2.20 %       ±7.83% ±10.42% ±13.56%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='SQ'                                                                                  5.47 %       ±9.10% ±12.11% ±15.76%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf16le' search='venture to go near the house till she had brought herself down to'                  -1.77 %       ±8.60% ±11.46% ±14.93%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF16LE' search='venture to go near the house till she had brought herself down to'                   1.74 %       ±8.21% ±10.93% ±14.22%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='--l'                                                                                   -0.24 %       ±7.57% ±10.08% ±13.12%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='--l'                                                                                   -2.18 %       ±8.53% ±11.37% ±14.84%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='@'                                                                                      8.43 %      ±11.45% ±15.25% ±19.89%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='@'                                                                                     -0.97 %      ±10.12% ±13.47% ±17.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='</i> to the Caterpillar'                                                               -1.74 %       ±8.28% ±11.01% ±14.33%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='</i> to the Caterpillar'                                                                0.95 %       ±6.03%  ±8.03% ±10.45%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='10x'                                                                                   -1.57 %      ±11.58% ±15.41% ±20.05%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='10x'                                                                                   -0.25 %       ±7.04%  ±9.38% ±12.21%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='aaaaaaaaaaaaaaaaa'                                                                     -1.41 %       ±3.85%  ±5.12%  ±6.68%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='aaaaaaaaaaaaaaaaa'                                                                      1.18 %       ±5.28%  ±7.04%  ±9.19%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='Alice'                                                                                  1.88 %       ±8.85% ±11.78% ±15.34%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='Alice'                                                                                  5.09 %       ±8.98% ±11.98% ±15.63%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='among mad people'                                                                       2.33 %       ±6.32%  ±8.41% ±10.95%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='among mad people'                                                                      -2.23 %       ±5.95%  ±7.92% ±10.31%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='found it very'                                                                          6.19 %       ±6.63%  ±8.86% ±11.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='found it very'                                                                          0.59 %       ±4.60%  ±6.13%  ±7.99%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='Gryphon'                                                                               -1.51 %       ±8.66% ±11.52% ±14.99%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='Gryphon'                                                                                9.38 %      ±10.05% ±13.38% ±17.45%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='neighbouring pool'                                                                      0.27 %       ±5.34%  ±7.11%  ±9.26%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='neighbouring pool'                                                                      3.38 %       ±3.70%  ±4.93%  ±6.42%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='Ou est ma chatte?'                                                                     -1.67 %       ±6.84%  ±9.11% ±11.85%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='Ou est ma chatte?'                                                                      4.25 %       ±6.13%  ±8.16% ±10.61%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='Panther'                                                                                1.82 %       ±8.56% ±11.39% ±14.84%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='Panther'                                                                               -3.21 %       ±9.04% ±12.03% ±15.65%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='Soo--oop'                                                                               1.33 %       ±5.54%  ±7.38%  ±9.63%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='Soo--oop'                                                                               2.32 %       ±5.06%  ±6.74%  ±8.80%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='SQ'                                                                                     0.89 %       ±8.39% ±11.17% ±14.54%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='SQ'                                                                                    -1.43 %       ±8.40% ±11.18% ±14.57%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='utf8' search='venture to go near the house till she had brought herself down to'                     -1.27 %       ±6.92%  ±9.20% ±11.98%
 buffers/buffer-indexof.js n=1000 type='buffer' encoding='UTF8' search='venture to go near the house till she had brought herself down to'                      0.75 %       ±7.57% ±10.09% ±13.18%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='--l'                                                                                   1.99 %       ±7.09%  ±9.43% ±12.29%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='--l'                                                                                   2.01 %       ±8.36% ±11.13% ±14.50%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='@'                                                                                    -3.57 %      ±10.10% ±13.44% ±17.49%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='@'                                                                                    -4.89 %       ±9.77% ±13.01% ±16.93%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='</i> to the Caterpillar'                                                               1.69 %       ±7.59% ±10.10% ±13.15%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='</i> to the Caterpillar'                                                              -2.11 %       ±5.58%  ±7.43%  ±9.67%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='10x'                                                                                  -1.78 %       ±7.29%  ±9.70% ±12.62%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='10x'                                                                                  -2.23 %       ±8.65% ±11.51% ±14.98%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='aaaaaaaaaaaaaaaaa'                                                                     0.42 %       ±6.74%  ±8.97% ±11.68%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='aaaaaaaaaaaaaaaaa'                                                                     1.54 %       ±8.08% ±10.75% ±14.01%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='Alice'                                                                                -7.88 %       ±9.79% ±13.05% ±17.03%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='Alice'                                                                                -7.47 %       ±8.75% ±11.65% ±15.20%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='among mad people'                                                                     -0.90 %       ±5.53%  ±7.37%  ±9.60%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='among mad people'                                                                      2.50 %       ±4.55%  ±6.05%  ±7.87%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='found it very'                                                                         3.19 %       ±5.89%  ±7.85% ±10.23%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='found it very'                                                                         3.00 %       ±4.41%  ±5.87%  ±7.66%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='Gryphon'                                                                               0.78 %      ±10.70% ±14.24% ±18.54%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='Gryphon'                                                                              -1.27 %       ±9.95% ±13.25% ±17.24%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='neighbouring pool'                                                                     2.62 %       ±4.82%  ±6.42%  ±8.36%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='neighbouring pool'                                                                     1.21 %       ±5.27%  ±7.02%  ±9.17%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='Ou est ma chatte?'                                                                     2.87 %       ±6.18%  ±8.24% ±10.76%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='Ou est ma chatte?'                                                                    -2.50 %       ±6.62%  ±8.81% ±11.47%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='Panther'                                                                               5.20 %       ±9.30% ±12.39% ±16.14%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='Panther'                                                                               5.55 %      ±10.26% ±13.66% ±17.80%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='Soo--oop'                                                                              0.51 %       ±5.01%  ±6.67%  ±8.68%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='Soo--oop'                                                                             -1.58 %       ±4.89%  ±6.51%  ±8.48%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='SQ'                                                                                   -4.22 %       ±9.09% ±12.09% ±15.75%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='SQ'                                                                                   -1.19 %       ±8.73% ±11.62% ±15.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ascii' search='venture to go near the house till she had brought herself down to'                     2.05 %       ±8.63% ±11.51% ±15.01%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ASCII' search='venture to go near the house till she had brought herself down to'                     1.75 %       ±7.70% ±10.25% ±13.34%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='--l'                                                                                 -2.87 %       ±8.88% ±11.82% ±15.39%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='--l'                                                                                  7.83 %       ±8.42% ±11.21% ±14.61%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='@'                                                                                    0.36 %      ±10.31% ±13.72% ±17.86%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='@'                                                                                    4.44 %       ±8.64% ±11.52% ±15.03%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='</i> to the Caterpillar'                                                              0.39 %       ±9.87% ±13.13% ±17.09%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='</i> to the Caterpillar'                                                             -4.64 %       ±9.75% ±12.97% ±16.88%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='10x'                                                                                  0.66 %       ±8.88% ±11.83% ±15.42%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='10x'                                                                                  0.22 %       ±8.30% ±11.04% ±14.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='aaaaaaaaaaaaaaaaa'                                                                    1.36 %       ±9.04% ±12.03% ±15.66%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='aaaaaaaaaaaaaaaaa'                                                                   -1.98 %       ±7.66% ±10.22% ±13.35%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='Alice'                                                                                9.70 %      ±10.01% ±13.33% ±17.39%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='Alice'                                                                               -2.55 %       ±8.51% ±11.32% ±14.74%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='among mad people'                                                                     1.70 %       ±5.76%  ±7.69% ±10.04%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='among mad people'                                                                     4.86 %       ±5.58%  ±7.45%  ±9.75%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='found it very'                                                                        3.72 %       ±9.75% ±12.98% ±16.92%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='found it very'                                                                        5.88 %       ±7.96% ±10.60% ±13.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='Gryphon'                                                                              0.41 %      ±11.10% ±14.77% ±19.22%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='Gryphon'                                                                              4.65 %       ±7.93% ±10.58% ±13.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='neighbouring pool'                                                                    0.96 %       ±9.51% ±12.66% ±16.48%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='neighbouring pool'                                                                    1.44 %      ±11.47% ±15.27% ±19.88%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='Ou est ma chatte?'                                                                    1.99 %       ±4.36%  ±5.81%  ±7.56%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='Ou est ma chatte?'                                                                    2.42 %       ±4.80%  ±6.40%  ±8.34%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='Panther'                                                                              0.84 %      ±11.95% ±15.91% ±20.73%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='Panther'                                                                              5.31 %       ±8.83% ±11.76% ±15.32%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='Soo--oop'                                                                             2.67 %       ±7.24%  ±9.64% ±12.57%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='Soo--oop'                                                                            -0.40 %       ±8.54% ±11.36% ±14.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='SQ'                                                                                   0.28 %       ±9.37% ±12.48% ±16.25%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='SQ'                                                                                  -3.79 %       ±7.06%  ±9.39% ±12.22%
 buffers/buffer-indexof.js n=1000 type='string' encoding='base64' search='venture to go near the house till she had brought herself down to'                    0.31 %      ±10.53% ±14.01% ±18.24%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BASE64' search='venture to go near the house till she had brought herself down to'                    2.64 %      ±10.20% ±13.59% ±17.73%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='--l'                                                                                 -6.97 %       ±8.50% ±11.33% ±14.79%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='--l'                                                                                  6.75 %       ±8.14% ±10.84% ±14.11%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='@'                                                                                   -3.10 %       ±9.44% ±12.57% ±16.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='@'                                                                            **     14.94 %       ±9.53% ±12.69% ±16.55%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='</i> to the Caterpillar'                                                             -0.55 %       ±5.09%  ±6.79%  ±8.87%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='</i> to the Caterpillar'                                                             -2.02 %       ±6.00%  ±7.99% ±10.41%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='10x'                                                                                 -4.39 %       ±9.31% ±12.39% ±16.13%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='10x'                                                                          **     16.53 %      ±10.08% ±13.41% ±17.46%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='aaaaaaaaaaaaaaaaa'                                                                    0.12 %       ±4.78%  ±6.36%  ±8.27%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='aaaaaaaaaaaaaaaaa'                                                                   -0.28 %       ±7.01%  ±9.33% ±12.15%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='Alice'                                                                               -1.63 %       ±9.65% ±12.84% ±16.72%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='Alice'                                                                        **     13.25 %       ±9.28% ±12.39% ±16.19%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='among mad people'                                                                    -3.27 %       ±5.62%  ±7.48%  ±9.74%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='among mad people'                                                                     1.96 %       ±5.24%  ±6.99%  ±9.15%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='found it very'                                                                        4.91 %       ±5.63%  ±7.52%  ±9.85%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='found it very'                                                                        2.38 %       ±5.28%  ±7.05%  ±9.22%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='Gryphon'                                                                             -1.01 %       ±8.02% ±10.68% ±13.89%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='Gryphon'                                                                             -0.95 %      ±11.63% ±15.50% ±20.22%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='neighbouring pool'                                                                    6.36 %       ±7.45%  ±9.97% ±13.11%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='neighbouring pool'                                                                    6.33 %       ±7.58% ±10.11% ±13.21%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='Ou est ma chatte?'                                                                    3.43 %       ±6.35%  ±8.46% ±11.05%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='Ou est ma chatte?'                                                             *      7.55 %       ±6.25%  ±8.31% ±10.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='Panther'                                                                              1.37 %       ±9.09% ±12.10% ±15.75%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='Panther'                                                                              8.20 %       ±9.23% ±12.28% ±15.98%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='Soo--oop'                                                                             0.97 %       ±5.01%  ±6.67%  ±8.70%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='Soo--oop'                                                                             0.95 %       ±4.84%  ±6.45%  ±8.44%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='SQ'                                                                                  -6.08 %       ±8.18% ±10.88% ±14.18%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='SQ'                                                                                   4.84 %       ±8.14% ±10.85% ±14.16%
 buffers/buffer-indexof.js n=1000 type='string' encoding='binary' search='venture to go near the house till she had brought herself down to'                   -0.46 %       ±7.30%  ±9.72% ±12.65%
 buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='venture to go near the house till she had brought herself down to'                    0.20 %       ±5.96%  ±7.93% ±10.33%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='--l'                                                                                     6.00 %       ±9.76% ±13.00% ±16.94%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='--l'                                                                                     2.90 %       ±9.70% ±12.91% ±16.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='@'                                                                                       0.39 %       ±9.13% ±12.14% ±15.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='@'                                                                                       3.91 %       ±8.65% ±11.52% ±14.99%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='</i> to the Caterpillar'                                                                -1.13 %       ±8.05% ±10.71% ±13.95%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='</i> to the Caterpillar'                                                                 3.70 %       ±9.96% ±13.25% ±17.25%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='10x'                                                                                     4.18 %       ±9.57% ±12.73% ±16.57%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='10x'                                                                                     0.69 %       ±8.72% ±11.60% ±15.10%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='aaaaaaaaaaaaaaaaa'                                                                      -1.15 %      ±10.75% ±14.31% ±18.62%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='aaaaaaaaaaaaaaaaa'                                                                      -0.43 %      ±11.60% ±15.43% ±20.08%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='Alice'                                                                                  -2.86 %      ±10.76% ±14.33% ±18.67%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='Alice'                                                                                   3.17 %       ±9.09% ±12.09% ±15.74%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='among mad people'                                                                        0.94 %       ±8.98% ±11.95% ±15.57%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='among mad people'                                                                        0.35 %       ±9.16% ±12.19% ±15.86%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='found it very'                                                                           1.54 %       ±9.20% ±12.24% ±15.94%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='found it very'                                                                           5.76 %       ±8.03% ±10.70% ±13.93%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='Gryphon'                                                                                -0.96 %       ±8.83% ±11.74% ±15.29%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='Gryphon'                                                                                 5.53 %      ±10.52% ±14.00% ±18.23%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='neighbouring pool'                                                                       0.64 %       ±7.78% ±10.35% ±13.47%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='neighbouring pool'                                                                       7.16 %       ±8.96% ±11.92% ±15.53%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='Ou est ma chatte?'                                                                       4.74 %       ±9.49% ±12.65% ±16.50%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='Ou est ma chatte?'                                                                       9.61 %      ±13.26% ±17.65% ±22.99%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='Panther'                                                                                 4.07 %      ±11.09% ±14.78% ±19.29%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='Panther'                                                                                 5.91 %       ±9.34% ±12.45% ±16.26%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='Soo--oop'                                                                                8.09 %      ±11.28% ±15.04% ±19.65%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='Soo--oop'                                                                        **     13.24 %       ±9.68% ±12.95% ±16.99%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='SQ'                                                                                      6.27 %      ±10.58% ±14.09% ±18.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='SQ'                                                                                      4.31 %      ±12.46% ±16.59% ±21.59%
 buffers/buffer-indexof.js n=1000 type='string' encoding='hex' search='venture to go near the house till she had brought herself down to'                      -5.06 %       ±8.80% ±11.72% ±15.28%
 buffers/buffer-indexof.js n=1000 type='string' encoding='HEX' search='venture to go near the house till she had brought herself down to'                       0.90 %       ±9.98% ±13.29% ±17.32%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='--l'                                                                                 -3.09 %       ±7.52% ±10.01% ±13.04%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='--l'                                                                                 -1.61 %       ±8.51% ±11.34% ±14.79%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='@'                                                                                   -8.16 %       ±9.63% ±12.84% ±16.75%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='@'                                                                             *     10.08 %       ±8.34% ±11.12% ±14.51%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='</i> to the Caterpillar'                                                              2.39 %       ±6.97%  ±9.31% ±12.19%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='</i> to the Caterpillar'                                                              0.83 %       ±6.77%  ±9.02% ±11.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='10x'                                                                                 -0.94 %       ±6.39%  ±8.50% ±11.07%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='10x'                                                                         ***     18.82 %      ±10.24% ±13.62% ±17.73%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='aaaaaaaaaaaaaaaaa'                                                                   -0.47 %       ±6.98%  ±9.29% ±12.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='aaaaaaaaaaaaaaaaa'                                                                    4.93 %       ±7.57% ±10.11% ±13.23%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='Alice'                                                                                1.86 %      ±10.89% ±14.50% ±18.89%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='Alice'                                                                         *     13.65 %      ±10.87% ±14.47% ±18.84%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='among mad people'                                                                    -2.31 %       ±6.48%  ±8.65% ±11.30%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='among mad people'                                                                    -1.78 %       ±8.12% ±10.84% ±14.19%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='found it very'                                                                        1.93 %       ±4.96%  ±6.60%  ±8.60%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='found it very'                                                                        2.62 %       ±4.21%  ±5.62%  ±7.35%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='Gryphon'                                                                              4.60 %      ±11.03% ±14.68% ±19.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='Gryphon'                                                                              8.58 %      ±10.79% ±14.35% ±18.69%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='neighbouring pool'                                                                    2.16 %       ±4.23%  ±5.65%  ±7.40%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='neighbouring pool'                                                                    2.45 %       ±6.15%  ±8.23% ±10.80%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='Ou est ma chatte?'                                                                   -1.20 %       ±6.33%  ±8.42% ±10.95%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='Ou est ma chatte?'                                                             *     10.49 %       ±9.05% ±12.09% ±15.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='Panther'                                                                              7.23 %       ±9.41% ±12.53% ±16.33%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='Panther'                                                                             10.41 %      ±12.53% ±16.68% ±21.71%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='Soo--oop'                                                                             0.07 %       ±5.36%  ±7.15%  ±9.33%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='Soo--oop'                                                                             0.62 %       ±3.50%  ±4.66%  ±6.07%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='SQ'                                                                                   0.30 %       ±8.42% ±11.20% ±14.58%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='SQ'                                                                            *      9.90 %       ±7.98% ±10.62% ±13.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='latin1' search='venture to go near the house till she had brought herself down to'                   -3.15 %       ±7.52% ±10.01% ±13.04%
 buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='venture to go near the house till she had brought herself down to'                    2.37 %       ±9.05% ±12.05% ±15.69%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='--l'                                                                                   2.05 %       ±7.23%  ±9.62% ±12.52%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='--l'                                                                                  -0.64 %       ±6.79%  ±9.04% ±11.79%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='@'                                                                                    -2.02 %      ±10.02% ±13.35% ±17.42%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='@'                                                                                     6.50 %      ±10.95% ±14.56% ±18.96%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='</i> to the Caterpillar'                                                              -0.73 %       ±7.66% ±10.21% ±13.34%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='</i> to the Caterpillar'                                                              -0.78 %       ±6.86%  ±9.13% ±11.89%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='10x'                                                                                  -1.35 %       ±9.65% ±12.84% ±16.71%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='10x'                                                                                   6.93 %       ±8.22% ±10.93% ±14.23%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='aaaaaaaaaaaaaaaaa'                                                                     3.60 %       ±5.46%  ±7.29%  ±9.52%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='aaaaaaaaaaaaaaaaa'                                                                    -0.59 %       ±3.58%  ±4.77%  ±6.22%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='Alice'                                                                                 1.29 %       ±6.90%  ±9.18% ±11.95%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='Alice'                                                                                 1.77 %       ±6.05%  ±8.05% ±10.48%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='among mad people'                                                                      3.47 %       ±5.34%  ±7.12%  ±9.32%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='among mad people'                                                                      2.18 %       ±4.76%  ±6.33%  ±8.25%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='found it very'                                                                         2.16 %       ±6.18%  ±8.22% ±10.71%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='found it very'                                                                         1.84 %       ±5.59%  ±7.44%  ±9.69%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='Gryphon'                                                                              -6.09 %       ±7.84% ±10.44% ±13.59%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='Gryphon'                                                                               7.31 %      ±11.06% ±14.72% ±19.17%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='neighbouring pool'                                                                     1.97 %       ±4.19%  ±5.59%  ±7.29%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='neighbouring pool'                                                                     1.55 %       ±6.50%  ±8.68% ±11.36%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='Ou est ma chatte?'                                                                     2.90 %       ±8.04% ±10.70% ±13.94%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='Ou est ma chatte?'                                                                     7.21 %      ±10.58% ±14.08% ±18.33%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='Panther'                                                                              -1.52 %       ±9.39% ±12.51% ±16.29%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='Panther'                                                                               5.84 %       ±8.85% ±11.78% ±15.33%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='Soo--oop'                                                                              0.57 %       ±8.30% ±11.07% ±14.47%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='Soo--oop'                                                                              1.09 %       ±6.87%  ±9.15% ±11.91%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='SQ'                                                                                   -0.87 %       ±9.03% ±12.03% ±15.68%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='SQ'                                                                                    6.91 %       ±8.22% ±10.94% ±14.25%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs-2' search='venture to go near the house till she had brought herself down to'                    -0.95 %       ±7.67% ±10.21% ±13.30%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS-2' search='venture to go near the house till she had brought herself down to'                     2.91 %       ±6.22%  ±8.28% ±10.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='--l'                                                                                   -2.13 %       ±8.07% ±10.76% ±14.07%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='--l'                                                                                    5.68 %       ±8.53% ±11.36% ±14.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='@'                                                                                      0.32 %       ±9.44% ±12.57% ±16.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='@'                                                                                      4.08 %      ±10.01% ±13.32% ±17.34%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='</i> to the Caterpillar'                                                               -3.07 %       ±7.82% ±10.41% ±13.56%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='</i> to the Caterpillar'                                                               -3.17 %       ±7.55% ±10.06% ±13.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='10x'                                                                                    0.56 %       ±8.87% ±11.81% ±15.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='10x'                                                                                   -0.07 %       ±9.98% ±13.29% ±17.31%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='aaaaaaaaaaaaaaaaa'                                                                      1.78 %       ±4.98%  ±6.65%  ±8.68%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='aaaaaaaaaaaaaaaaa'                                                                      1.43 %       ±5.02%  ±6.68%  ±8.70%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='Alice'                                                                                 -2.93 %       ±6.14%  ±8.17% ±10.63%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='Alice'                                                                                  4.02 %       ±7.26%  ±9.66% ±12.57%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='among mad people'                                                                       4.02 %       ±5.57%  ±7.42%  ±9.67%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='among mad people'                                                                       4.71 %       ±5.04%  ±6.72%  ±8.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='found it very'                                                                          0.90 %       ±6.01%  ±7.99% ±10.41%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='found it very'                                                                          5.71 %       ±7.71% ±10.30% ±13.49%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='Gryphon'                                                                                1.69 %      ±10.72% ±14.27% ±18.59%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='Gryphon'                                                                                6.07 %      ±11.15% ±14.84% ±19.31%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='neighbouring pool'                                                                      3.18 %       ±5.97%  ±7.96% ±10.40%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='neighbouring pool'                                                                      3.02 %       ±5.56%  ±7.43%  ±9.72%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='Ou est ma chatte?'                                                                     -0.19 %       ±8.73% ±11.62% ±15.13%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='Ou est ma chatte?'                                                                      3.75 %      ±10.82% ±14.40% ±18.74%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='Panther'                                                                                5.20 %       ±9.81% ±13.06% ±17.00%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='Panther'                                                                                4.22 %       ±9.34% ±12.43% ±16.18%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='Soo--oop'                                                                              -1.22 %       ±7.18%  ±9.56% ±12.44%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='Soo--oop'                                                                               6.26 %      ±11.22% ±14.94% ±19.45%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='SQ'                                                                                     0.17 %       ±8.43% ±11.22% ±14.61%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='SQ'                                                                                     6.33 %       ±7.96% ±10.60% ±13.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='ucs2' search='venture to go near the house till she had brought herself down to'               *     -6.35 %       ±5.24%  ±6.98%  ±9.08%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UCS2' search='venture to go near the house till she had brought herself down to'                     -0.76 %       ±9.67% ±12.87% ±16.77%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='--l'                                                                               2.76 %       ±7.68% ±10.22% ±13.30%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='@'                                                                                 1.75 %       ±8.82% ±11.73% ±15.27%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='</i> to the Caterpillar'                                                          -1.61 %       ±6.81%  ±9.07% ±11.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='10x'                                                                              -0.94 %       ±8.53% ±11.35% ±14.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='aaaaaaaaaaaaaaaaa'                                                                 3.47 %       ±6.87%  ±9.16% ±11.95%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='Alice'                                                                            -4.29 %      ±11.52% ±15.34% ±19.98%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='among mad people'                                                                  0.70 %       ±5.52%  ±7.34%  ±9.56%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='found it very'                                                                     0.75 %       ±5.09%  ±6.78%  ±8.84%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='Gryphon'                                                                           2.40 %       ±9.11% ±12.12% ±15.77%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='neighbouring pool'                                                                 1.67 %       ±6.22%  ±8.28% ±10.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='Ou est ma chatte?'                                                                 3.26 %       ±6.82%  ±9.07% ±11.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='Panther'                                                                           7.28 %      ±10.84% ±14.47% ±18.93%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='Soo--oop'                                                                          1.54 %       ±4.48%  ±5.97%  ±7.78%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='SQ'                                                                                9.06 %      ±10.28% ±13.69% ±17.85%
 buffers/buffer-indexof.js n=1000 type='string' encoding='undefined' search='venture to go near the house till she had brought herself down to'                -0.96 %       ±4.66%  ±6.21%  ±8.08%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='--l'                                                                               -0.51 %      ±10.08% ±13.41% ±17.46%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='--l'                                                                               -0.54 %       ±7.42%  ±9.87% ±12.87%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='@'                                                                                  1.87 %       ±9.95% ±13.24% ±17.23%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='@'                                                                                  6.68 %       ±8.61% ±11.46% ±14.92%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='</i> to the Caterpillar'                                                           -1.84 %       ±8.14% ±10.84% ±14.11%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='</i> to the Caterpillar'                                                           -2.79 %       ±6.74%  ±9.00% ±11.76%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='10x'                                                                               -5.39 %       ±8.59% ±11.45% ±14.96%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='10x'                                                                                6.80 %       ±9.62% ±12.81% ±16.68%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='aaaaaaaaaaaaaaaaa'                                                                  2.22 %       ±4.90%  ±6.55%  ±8.56%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='aaaaaaaaaaaaaaaaa'                                                                  5.64 %       ±6.38%  ±8.53% ±11.16%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='Alice'                                                                             -4.23 %       ±6.22%  ±8.29% ±10.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='Alice'                                                                              3.63 %       ±6.89%  ±9.17% ±11.94%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='among mad people'                                                                   1.92 %       ±7.38%  ±9.83% ±12.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='among mad people'                                                                   4.00 %       ±5.05%  ±6.75%  ±8.85%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='found it very'                                                                      1.87 %       ±5.03%  ±6.69%  ±8.71%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='found it very'                                                                      2.97 %       ±4.86%  ±6.47%  ±8.43%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='Gryphon'                                                                           -1.02 %       ±7.58% ±10.08% ±13.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='Gryphon'                                                                            4.76 %       ±9.73% ±12.95% ±16.85%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='neighbouring pool'                                                                  0.25 %       ±6.15%  ±8.18% ±10.65%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='neighbouring pool'                                                                  0.76 %       ±5.22%  ±6.99%  ±9.16%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='Ou est ma chatte?'                                                                  6.09 %      ±10.84% ±14.44% ±18.82%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='Ou est ma chatte?'                                                           *     10.08 %       ±8.62% ±11.48% ±14.96%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='Panther'                                                                            4.17 %       ±7.89% ±10.52% ±13.72%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='Panther'                                                                     *     11.39 %       ±9.83% ±13.09% ±17.06%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='Soo--oop'                                                                          -4.23 %       ±8.47% ±11.27% ±14.68%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='Soo--oop'                                                                           5.31 %       ±6.89%  ±9.17% ±11.94%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='SQ'                                                                                 5.92 %       ±9.45% ±12.58% ±16.38%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='SQ'                                                                                 2.21 %       ±6.40%  ±8.51% ±11.08%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-16le' search='venture to go near the house till she had brought herself down to'                  0.97 %       ±6.18%  ±8.22% ±10.70%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-16LE' search='venture to go near the house till she had brought herself down to'                  1.68 %       ±7.20%  ±9.59% ±12.48%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='--l'                                                                                  -4.28 %       ±5.81%  ±7.74% ±10.09%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='--l'                                                                                  -1.88 %       ±8.62% ±11.51% ±15.06%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='@'                                                                              *     -9.09 %       ±8.06% ±10.73% ±13.97%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='@'                                                                                    12.40 %      ±13.81% ±18.37% ±23.91%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='</i> to the Caterpillar'                                                               0.61 %       ±4.71%  ±6.26%  ±8.15%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='</i> to the Caterpillar'                                                              -0.58 %       ±7.80% ±10.38% ±13.52%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='10x'                                                                           **    -10.49 %       ±6.53%  ±8.72% ±11.41%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='10x'                                                                                   8.54 %      ±10.18% ±13.55% ±17.66%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='aaaaaaaaaaaaaaaaa'                                                                    -0.22 %       ±6.06%  ±8.07% ±10.51%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='aaaaaaaaaaaaaaaaa'                                                              *      7.53 %       ±5.87%  ±7.84% ±10.28%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='Alice'                                                                          *     -8.33 %       ±8.30% ±11.04% ±14.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='Alice'                                                                          *     11.12 %      ±11.05% ±14.72% ±19.20%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='among mad people'                                                                      3.81 %       ±6.21%  ±8.27% ±10.77%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='among mad people'                                                                      5.43 %       ±5.87%  ±7.82% ±10.17%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='found it very'                                                                         2.61 %       ±4.66%  ±6.20%  ±8.09%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='found it very'                                                                         2.93 %       ±4.92%  ±6.59%  ±8.67%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='Gryphon'                                                                               5.25 %       ±9.11% ±12.13% ±15.80%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='Gryphon'                                                                               7.48 %      ±10.17% ±13.53% ±17.62%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='neighbouring pool'                                                                     1.76 %       ±3.55%  ±4.73%  ±6.17%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='neighbouring pool'                                                                     2.18 %       ±5.09%  ±6.77%  ±8.83%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='Ou est ma chatte?'                                                                     4.32 %       ±5.65%  ±7.53%  ±9.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='Ou est ma chatte?'                                                             **     11.70 %       ±7.36%  ±9.83% ±12.87%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='Panther'                                                                               4.63 %       ±9.28% ±12.35% ±16.08%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='Panther'                                                                        *     11.70 %       ±8.94% ±11.91% ±15.52%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='Soo--oop'                                                                              0.16 %       ±5.27%  ±7.01%  ±9.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='Soo--oop'                                                                             -0.97 %       ±5.97%  ±7.95% ±10.35%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='SQ'                                                                                    0.23 %      ±10.43% ±13.91% ±18.16%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='SQ'                                                                             *      9.66 %       ±9.26% ±12.32% ±16.05%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf-8' search='venture to go near the house till she had brought herself down to'                    -1.62 %       ±7.74% ±10.31% ±13.43%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='venture to go near the house till she had brought herself down to'                    -1.67 %       ±5.94%  ±7.91% ±10.30%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='--l'                                                                          *     -7.59 %       ±7.52% ±10.01% ±13.05%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='--l'                                                                                 2.33 %       ±8.21% ±10.92% ±14.21%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='@'                                                                                  -7.59 %       ±9.96% ±13.27% ±17.30%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='@'                                                                                   4.58 %       ±9.81% ±13.06% ±17.03%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='</i> to the Caterpillar'                                                            -0.25 %       ±6.34%  ±8.44% ±11.00%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='</i> to the Caterpillar'                                                            -0.22 %       ±5.53%  ±7.36%  ±9.58%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='10x'                                                                                 0.60 %       ±8.85% ±11.77% ±15.33%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='10x'                                                                                 4.48 %       ±8.23% ±10.98% ±14.35%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='aaaaaaaaaaaaaaaaa'                                                                   2.27 %       ±4.76%  ±6.35%  ±8.28%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='aaaaaaaaaaaaaaaaa'                                                                  -0.78 %       ±5.99%  ±7.97% ±10.38%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='Alice'                                                                               3.07 %       ±7.64% ±10.17% ±13.23%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='Alice'                                                                               0.34 %       ±7.29%  ±9.71% ±12.63%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='among mad people'                                                                   -2.08 %       ±5.31%  ±7.07%  ±9.20%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='among mad people'                                                                    2.92 %       ±5.15%  ±6.90%  ±9.06%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='found it very'                                                                       3.51 %       ±6.38%  ±8.50% ±11.09%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='found it very'                                                                       3.06 %       ±5.78%  ±7.70% ±10.05%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='Gryphon'                                                                             3.14 %       ±9.20% ±12.25% ±15.96%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='Gryphon'                                                                             1.78 %       ±8.09% ±10.76% ±14.01%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='neighbouring pool'                                                                   4.18 %       ±7.17%  ±9.58% ±12.55%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='neighbouring pool'                                                                   3.75 %       ±7.14%  ±9.49% ±12.36%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='Ou est ma chatte?'                                                                   7.09 %       ±9.37% ±12.48% ±16.26%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='Ou est ma chatte?'                                                                   6.27 %       ±9.85% ±13.11% ±17.07%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='Panther'                                                                             5.09 %       ±8.47% ±11.28% ±14.70%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='Panther'                                                                             0.89 %       ±7.18%  ±9.55% ±12.43%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='Soo--oop'                                                                           -3.83 %       ±8.75% ±11.66% ±15.20%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='Soo--oop'                                                                            0.09 %       ±8.63% ±11.49% ±14.95%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='SQ'                                                                                  0.07 %       ±6.81%  ±9.07% ±11.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='SQ'                                                                                  2.23 %       ±8.31% ±11.06% ±14.40%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf16le' search='venture to go near the house till she had brought herself down to'                  -2.92 %       ±6.26%  ±8.33% ±10.85%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='venture to go near the house till she had brought herself down to'                   0.64 %       ±7.00%  ±9.31% ±12.12%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='--l'                                                                                   -1.51 %       ±8.67% ±11.54% ±15.05%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='--l'                                                                                    4.72 %       ±8.81% ±11.72% ±15.26%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='@'                                                                                     -4.03 %       ±8.36% ±11.13% ±14.52%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='@'                                                                             ***     19.14 %      ±10.08% ±13.41% ±17.48%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='</i> to the Caterpillar'                                                               -0.97 %       ±6.36%  ±8.47% ±11.02%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='</i> to the Caterpillar'                                                                3.42 %       ±6.72%  ±8.95% ±11.66%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='10x'                                                                            **    -11.47 %       ±8.10% ±10.81% ±14.11%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='10x'                                                                             *     11.96 %      ±10.13% ±13.48% ±17.55%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa'                                                                      0.03 %       ±5.07%  ±6.76%  ±8.81%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='aaaaaaaaaaaaaaaaa'                                                                      0.14 %       ±4.83%  ±6.43%  ±8.37%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='Alice'                                                                                 -7.12 %       ±9.66% ±12.86% ±16.74%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='Alice'                                                                                  6.65 %      ±10.54% ±14.05% ±18.34%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='among mad people'                                                                       4.48 %       ±7.14%  ±9.53% ±12.47%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='among mad people'                                                                      -5.94 %       ±6.09%  ±8.12% ±10.61%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='found it very'                                                                          4.04 %       ±6.27%  ±8.39% ±11.01%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='found it very'                                                                          1.61 %       ±3.99%  ±5.31%  ±6.92%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='Gryphon'                                                                                6.74 %       ±9.61% ±12.82% ±16.74%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='Gryphon'                                                                        **     17.32 %      ±11.59% ±15.45% ±20.15%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='neighbouring pool'                                                                     -0.75 %       ±3.36%  ±4.48%  ±5.83%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='neighbouring pool'                                                                      0.47 %       ±4.26%  ±5.67%  ±7.38%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='Ou est ma chatte?'                                                                      1.19 %       ±5.27%  ±7.01%  ±9.13%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='Ou est ma chatte?'                                                                      5.49 %       ±6.60%  ±8.79% ±11.47%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='Panther'                                                                               -0.58 %       ±9.85% ±13.10% ±17.06%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='Panther'                                                                                7.13 %      ±10.66% ±14.20% ±18.49%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='Soo--oop'                                                                               2.61 %       ±5.52%  ±7.39%  ±9.70%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='Soo--oop'                                                                              -0.12 %       ±4.97%  ±6.62%  ±8.63%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='SQ'                                                                                     0.07 %       ±8.17% ±10.87% ±14.15%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='SQ'                                                                                     5.63 %       ±7.55% ±10.06% ±13.13%
 buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='venture to go near the house till she had brought herself down to'                      4.43 %       ±9.25% ±12.35% ±16.16%
 buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='venture to go near the house till she had brought herself down to'                     -1.54 %       ±8.13% ±10.82% ±14.10%

@mscdex
Copy link
Contributor

mscdex commented Mar 8, 2019

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/300/console

Results with ***:

buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='10x'                                                                         ***     12.43 %       ±4.95%  ±6.59%  ±8.59%
buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='@'                                                                           ***     12.80 %       ±5.88%  ±7.84% ±10.25%
buffers/buffer-indexof.js n=1000 type='string' encoding='UTF16LE' search='SQ'                                                                         ***     11.97 %       ±6.49%  ±8.66% ±11.32%
buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='10x'                                                                           ***    -11.23 %       ±6.28%  ±8.40% ±11.03%
buffers/buffer-indexof.js n=1000 type='string' encoding='UTF8' search='Alice'                                                                         ***     14.72 %       ±6.66%  ±8.88% ±11.60%
buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='Panther'                                                                      ***     11.85 %       ±5.86%  ±7.83% ±10.28%

It looks like 'utf8' regressed quite a bit for some reason. I think that's probably the most common format for that encoding, so it would be best if we could find a way to avoid that regression.

@ZYSzys
Copy link
Member Author

ZYSzys commented Mar 8, 2019

Simply elevate the most common encoding utf8.

Results with *** locally:

buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='Alice'                                                                       ***     19.60 %      ±10.68% ±14.21% ±18.49%
buffers/buffer-indexof.js n=1000 type='string' encoding='BINARY' search='SQ'                                                                          ***     19.60 %      ±10.03% ±13.35% ±17.37%
buffers/buffer-indexof.js n=1000 type='string' encoding='LATIN1' search='Alice'                                                                       ***     24.18 %      ±10.93% ±14.54% ±18.93%
buffers/buffer-indexof.js n=1000 type='string' encoding='UTF-8' search='@'                                                                            ***     21.10 %       ±9.20% ±12.26% ±16.00%
buffers/buffer-indexof.js n=1000 type='string' encoding='utf8' search='10x'                                                                           ***     22.51 %      ±12.13% ±16.16% ±21.06%

@mscdex
Copy link
Contributor

mscdex commented Mar 8, 2019

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/301/console

The results there now look better, especially for common cases.

@BridgeAR
Copy link
Member

@BridgeAR BridgeAR added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Mar 10, 2019
@refack
Copy link
Contributor

refack commented Mar 10, 2019

-1 to this at current form.
I'm not convinced the convoluted code is worth it based on Latest results with (p < 0.01)
Maybe only keep

if (encoding === undefined || encoding === 'utf8') {

buffers/buffer-indexof.js n=1000 confidence improvement accuracy (*) (**) (***)
type='string' encoding='binary' search='10x' ** -10.02 % ±7.44% ±9.91% ±12.92%
type='string' encoding='ucs-2' search='Alice' *** -13.87 % ±7.08% ±9.43% ±12.30%
type='string' encoding='utf-8' search='Soo--oop' ** -3.21 % ±2.22% ±2.95% ±3.84%
type='string' encoding='LATIN1' search='Soo--oop' *** -4.45 % ±2.48% ±3.31% ±4.31%
type='buffer' encoding='undefined' search='aaaaaaaaaaaaaaaaa' ** -6.10 % ±4.55% ±6.06% ±7.89%
type='buffer' encoding='utf-8' search='among mad people' *** -6.11 % ±3.22% ±4.30% ±5.61%
type='string' encoding='utf-8' search='@' ** -8.56 % ±5.89% ±7.84% ±10.21%
type='string' encoding='ucs2' search='10x' ** -8.60 % ±4.98% ±6.63% ±8.63%
type='string' encoding='ucs2' search='@' *** -9.66 % ±4.42% ±5.90% ±7.69%
type='string' encoding='BINARY' search='10x' *** 10.36 % ±4.29% ±5.71% ±7.43%
type='string' encoding='BINARY' search='Alice' ** 10.55 % ±6.10% ±8.12% ±10.56%
type='string' encoding='UTF-16LE' search='10x' ** 11.16 % ±7.33% ±9.76% ±12.70%
type='buffer' encoding='undefined' search='10x' ** 11.76 % ±7.42% ±9.94% ±13.07%
type='string' encoding='UTF16LE' search='10x' *** 12.54 % ±7.09% ±9.49% ±12.44%
type='string' encoding='utf8' search='Alice' *** 12.80 % ±5.28% ±7.04% ±9.17%
type='string' encoding='UTF-8' search='SQ' *** 12.85 % ±7.19% ±9.65% ±12.71%
type='string' encoding='utf8' search='Gryphon' *** 12.90 % ±6.52% ±8.74% ±11.51%
type='string' encoding='utf8' search='10x' ** 14.00 % ±8.93% ±11.89% ±15.49%
type='buffer' encoding='binary' search='@' ** 14.43 % ±9.32% ±12.52% ±16.55%
type='string' encoding='UTF-8' search='@' ** 14.62 % ±8.69% ±11.60% ±15.16%
type='string' encoding='LATIN1' search='@' *** 16.40 % ±9.18% ±12.25% ±16.03%
type='string' encoding='BASE64' search='among mad people' ** 4.37 % ±2.77% ±3.69% ±4.80%
type='buffer' encoding='ASCII' search='venture to go near the house till she had brought herself down to' ** 7.67 % ±5.33% ±7.12% ±9.33%
type='string' encoding='UTF16LE' search='@' *** 8.73 % ±4.98% ±6.64% ±8.66%
type='string' encoding='UTF-8' search='Alice' *** 8.79 % ±4.54% ±6.05% ±7.88%
type='string' encoding='utf8' search='among mad people' *** 9.24 % ±4.01% ±5.35% ±7.00%

@refack refack added performance Issues and PRs related to the performance of Node.js. and removed author ready PRs that have at least one approval, no pending requests for changes, and a CI started. labels Mar 10, 2019
@BridgeAR
Copy link
Member

@refack the common cases are improved a tiny bit. It does not hurt to land this.

@refack
Copy link
Contributor

refack commented Mar 10, 2019

the common cases are improved a tiny bit. It does not hurt to land this.

image

Churn and code complexity make this not worth it.
(also table shows degradation in performance for many cases)

@BridgeAR
Copy link
Member

@nodejs/tsc PTAL. There is a -1 on this PR and it would be good to get opinions about landing this or not.

@Trott
Copy link
Member

Trott commented Mar 25, 2019

/ping @nodejs/buffer for additional opinions/insights

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not understand why this change is needed in the first place, can you articulate/expand? Considering the slowdown in our microbechmarks, I do not think we should land this either.

@ZYSzys
Copy link
Member Author

ZYSzys commented Mar 26, 2019

Thanks all. Will investigate more and have another try.

Closing this for now.

@ZYSzys ZYSzys closed this Mar 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
buffer Issues and PRs related to the buffer subsystem. performance Issues and PRs related to the performance of Node.js.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants