UNPKG

molstar

Version:

A comprehensive macromolecular library.

57 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Test = void 0; var tslib_1 = require("tslib"); var B = (0, tslib_1.__importStar)(require("benchmark")); var string_builder_1 = require("../mol-util/string-builder"); var Test; (function (Test) { function createData(n) { var ret = []; for (var i = 0; i < n; i++) { ret[i] = '' + ((100000000 * Math.random() + 1) | 0); } return ret; } function build(data, chunkSize) { var sb = string_builder_1.StringBuilder.create(chunkSize); for (var i = 0, _i = data.length; i < _i; i++) { string_builder_1.StringBuilder.writeSafe(sb, data[i]); string_builder_1.StringBuilder.whitespace1(sb); } return sb; } function buildWS(data, chunkSize) { var sb = string_builder_1.StringBuilder.create(chunkSize); for (var i = 0, _i = data.length; i < _i; i++) { string_builder_1.StringBuilder.writeSafe(sb, data[i] + ' '); } return sb; } // function naive(data: string[]) { // let ret = ''; // for (let i = 0, _i = data.length; i < _i; i++) ret += data[i]; // return ret; // } // function join(data: string[]) { // let ret = []; // for (let i = 0, _i = data.length; i < _i; i++) ret[i] = data[i]; // return ret.join(''); // } function run() { var data = createData(26 * 100000); var N = 512; var suite = new B.Suite(); suite // .add(`naive`, () => naive(data)) // .add(`join`, () => join(data)) // .add(`${N} chunks`, () => SB.getChunks(build(data, N))) .add(N + " str", function () { return string_builder_1.StringBuilder.getString(build(data, N)); }) .add(N + " str ws", function () { return string_builder_1.StringBuilder.getString(buildWS(data, N)); }) .on('cycle', function (e) { return console.log(String(e.target)); }) .run(); } Test.run = run; })(Test = exports.Test || (exports.Test = {})); Test.run(); //# sourceMappingURL=string-builder.js.map