summaryrefslogtreecommitdiff
path: root/benchmark/buffers/buffer-indexof.js
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/buffers/buffer-indexof.js')
-rw-r--r--benchmark/buffers/buffer-indexof.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/benchmark/buffers/buffer-indexof.js b/benchmark/buffers/buffer-indexof.js
new file mode 100644
index 0000000000..c575f54b6a
--- /dev/null
+++ b/benchmark/buffers/buffer-indexof.js
@@ -0,0 +1,38 @@
+var common = require('../common.js');
+var fs = require('fs');
+
+var bench = common.createBenchmark(main, {
+ search: ['@', 'SQ', '10x', '--l', 'Alice', 'Gryphon', 'Panther',
+ 'Ou est ma chatte?', 'found it very', 'among mad people',
+ 'neighbouring pool', 'Soo--oop', 'aaaaaaaaaaaaaaaaa',
+ 'venture to go near the house till she had brought herself down to',
+ '</i> to the Caterpillar'],
+ encoding: ['undefined', 'utf8', 'ucs2', 'binary'],
+ type: ['buffer', 'string'],
+ iter: [1]
+});
+
+function main(conf) {
+ var iter = (conf.iter) * 100000;
+ var aliceBuffer = fs.readFileSync(__dirname + '/../fixtures/alice.html');
+ var search = conf.search;
+ var encoding = conf.encoding;
+
+ if (encoding === 'undefined') {
+ encoding = undefined;
+ }
+
+ if (encoding === 'ucs2') {
+ aliceBuffer = new Buffer(aliceBuffer.toString(), encoding);
+ }
+
+ if (conf.type === 'buffer') {
+ search = new Buffer(new Buffer(search).toString(), encoding);
+ }
+
+ bench.start();
+ for (var i = 0; i < iter; i++) {
+ aliceBuffer.indexOf(search, 0, encoding);
+ }
+ bench.end(iter);
+}