本文整理汇总了TypeScript中vs/editor/test/common/model/benchmark/benchmarkUtils.BenchmarkSuite.add方法的典型用法代码示例。如果您正苦于以下问题:TypeScript BenchmarkSuite.add方法的具体用法?TypeScript BenchmarkSuite.add怎么用?TypeScript BenchmarkSuite.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vs/editor/test/common/model/benchmark/benchmarkUtils.BenchmarkSuite
的用法示例。
在下文中一共展示了BenchmarkSuite.add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: BenchmarkSuite
for (let editType of editTypes) {
const edits = editType.generateEdits(chunks, 1000);
let editsSuite = new BenchmarkSuite({
name: `File Size: ${fileSize}Byte, ${editType.id}`,
iterations: 10
});
editsSuite.add({
name: `apply 1000 edits`,
buildBuffer: (textBufferBuilder: ITextBufferBuilder) => {
chunks.forEach(ck => textBufferBuilder.acceptChunk(ck));
return textBufferBuilder.finish();
},
preCycle: (textBuffer) => {
return textBuffer;
},
fn: (textBuffer) => {
// for line model, this loop doesn't reflect the real situation.
for (let k = 0; k < edits.length; k++) {
textBuffer.applyEdits([edits[k]], false);
}
}
});
editsSuite.add({
name: `Read all lines after 1000 edits`,
buildBuffer: (textBufferBuilder: ITextBufferBuilder) => {
chunks.forEach(ck => textBufferBuilder.acceptChunk(ck));
return textBufferBuilder.finish();
},
preCycle: (textBuffer) => {
示例2: BenchmarkSuite
// try to avoid OOM
for (let j = 0; j < chunkCnt; j++) {
chunks.push(Buffer.from(chunk + j).toString());
}
}
let replaceSuite = new BenchmarkSuite({
name: `File Size: ${fileSize}Byte`,
iterations: 10
});
let edits = generateRandomReplaces(chunks, 500, 5, 10);
for (let i of [10, 100, 500]) {
replaceSuite.add({
name: `replace ${i} occurrences`,
buildBuffer: (textBufferBuilder: ITextBufferBuilder) => {
chunks.forEach(ck => textBufferBuilder.acceptChunk(ck));
return textBufferBuilder.finish();
},
preCycle: (textBuffer) => {
return textBuffer;
},
fn: (textBuffer) => {
textBuffer.applyEdits(edits.slice(0, i), false);
}
});
}
replaceSuite.run();
}