提交 31f8362b 编写于 作者: C Christof Marti

#55 Include measurements for cached results

上级 ebe47187
...@@ -68,31 +68,49 @@ suite('QuickOpen performance', () => { ...@@ -68,31 +68,49 @@ suite('QuickOpen performance', () => {
return instantiationService.createInstance(descriptors[0]) return instantiationService.createInstance(descriptors[0])
.then((handler: QuickOpenHandler) => { .then((handler: QuickOpenHandler) => {
return handler.getResults('a').then(result => { return handler.getResults('a').then(result => {
const events = telemetryService.events; const uncachedEvent = popEvent();
assert.strictEqual(events.length, 1); assert.ok(!uncachedEvent.data.fromCache);
const event = events[0]; return uncachedEvent;
events.length = 0; }).then(uncachedEvent => {
assert.strictEqual(event.name, 'openAnything'); return handler.getResults('ab').then(result => {
assert.ok(!event.data.fromCache); const cachedEvent = popEvent();
return event; assert.ok(cachedEvent.data.fromCache);
return [uncachedEvent, cachedEvent];
});
}); });
}); });
} }
function popEvent() {
const events = telemetryService.events;
assert.strictEqual(events.length, 1);
const event = events[0];
events.length = 0;
assert.strictEqual(event.name, 'openAnything');
return event;
}
return measure() // Warm-up first return measure() // Warm-up first
.then(() => { .then(() => {
if (testWorkspaceArg) { // Don't measure by default if (testWorkspaceArg) { // Don't measure by default
const cachedEvents: Timer.ITimerEvent[] = [];
let i = n; let i = n;
return (function iterate() { return (function iterate() {
if (!i--) { if (!i--) {
return; return;
} }
return measure() return measure()
.then(event => { .then(([uncachedEvent, cachedEvent]) => {
console.log(JSON.stringify(event.data) + ','); console.log(JSON.stringify(uncachedEvent.data) + ',');
cachedEvents.push(cachedEvent);
return iterate(); return iterate();
}); });
})(); })().then(() => {
console.log();
cachedEvents.forEach(cachedEvent => {
console.log(JSON.stringify(cachedEvent.data) + ',');
});
});
} }
}); });
}); });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册