Skip to content

Commit eda2603

Browse files
committed
Add a flag we can use to skip string template calcs in release
1 parent 114f8b4 commit eda2603

42 files changed

Lines changed: 705 additions & 238 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎apps/perf-tests/ComplexObjectGraphMemoryTest/mainPage.ts‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import fps = require("fps-meter");
88

99
export function createPage() {
1010
fps.addCallback(function (fps, minFps) {
11-
trace.write("fps=" + fps + " minFps=" + minFps, trace.categories.Test, trace.messageType.info);
11+
if (trace.enabled) {
12+
trace.write("fps=" + fps + " minFps=" + minFps, trace.categories.Test, trace.messageType.info);
13+
}
1214
});
1315
fps.start();
1416

@@ -27,7 +29,9 @@ export function createPage() {
2729
var button;
2830
var childStackLayout;
2931
var childStackLayoutCount = count / buttonsPerRow;
30-
trace.write("Creating " + count + " buttons.", trace.categories.Test, trace.messageType.info);
32+
if (trace.enabled) {
33+
trace.write("Creating " + count + " buttons.", trace.categories.Test, trace.messageType.info);
34+
}
3135
console.time("creatingButtons");
3236
for (var i = 0; i < childStackLayoutCount; i++) {
3337
childStackLayout = new stackLayoutModule.StackLayout();
@@ -36,15 +40,19 @@ export function createPage() {
3640
for (var j = 0; j < buttonsPerRow; j++) {
3741
button = new buttonModule.Button();
3842
button.on(buttonModule.Button.tapEvent, function (data) {
39-
trace.write("eventName=" + data.eventName + " object=" + data.object, trace.categories.Test, trace.messageType.info);
43+
if (trace.enabled) {
44+
trace.write("eventName=" + data.eventName + " object=" + data.object, trace.categories.Test, trace.messageType.info);
45+
}
4046
});
4147
button.text = "" + i + j;
4248
childStackLayout.addChild(button);
4349
}
4450
}
4551
console.timeEnd("creatingButtons");
4652
var message = "Created " + count + " buttons";
47-
trace.write(message, trace.categories.Test, trace.messageType.info);
53+
if (trace.enabled) {
54+
trace.write(message, trace.categories.Test, trace.messageType.info);
55+
}
4856
label.text = message;
4957

5058
var page = new pagesModule.Page();

‎apps/perf-tests/LargeObjectArrayMemoryTest/mainPage.ts‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,21 @@ export function createPage() {
1111
var label = new labelModule.Label();
1212
page.content = label;
1313

14-
trace.write("Creating " + count + " objects.", trace.categories.Test, trace.messageType.info);
14+
if (trace.enabled) {
15+
trace.write("Creating " + count + " objects.", trace.categories.Test, trace.messageType.info);
16+
}
17+
1518
console.time("creatingObjects");
1619
for (var i = 0; i < count; i++) {
1720
people[i] = new common.Person("John Doe", 33, 1234.56);
1821
}
1922
console.timeEnd("creatingObjects");
2023
var message = "Created " + people.length + " objects";
21-
trace.write(message, trace.categories.Test, trace.messageType.info);
24+
25+
if (trace.enabled) {
26+
trace.write(message, trace.categories.Test, trace.messageType.info);
27+
}
28+
2229
label.text = message;
2330
return page;
2431
}

‎apps/perf-tests/SpeedTests/tests.ts‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ export function compareNativeDates(count: number): string {
1212
var elapsedTime = Math.round(new Date().getMilliseconds() - startTime);
1313
var averageTime = (elapsedTime / count);
1414
var message = "Total: " + elapsedTime + " ms. Avg: " + averageTime + " ms.";
15-
trace.write(message, trace.categories.Test, trace.messageType.info);
15+
16+
if (trace.enabled) {
17+
trace.write(message, trace.categories.Test, trace.messageType.info);
18+
}
1619
return message;
1720
}
1821

@@ -25,7 +28,9 @@ export function compareJavaScriptDates(count: number): string {
2528
var elapsedTime = Math.round(new Date().getMilliseconds() - startTime);
2629
var averageTime = (elapsedTime / count);
2730
var message = "Total: " + elapsedTime + " ms. Avg: " + averageTime + " ms.";
28-
trace.write(message, trace.categories.Test, trace.messageType.info);
31+
if (trace.enabled) {
32+
trace.write(message, trace.categories.Test, trace.messageType.info);
33+
}
2934
return message;
3035
}
3136

@@ -46,7 +51,9 @@ export function decodeAndEncodeBitmap(count: number, finishedCallback: (message)
4651
var elapsedTime = Math.round(new Date().getMilliseconds() - startTime);
4752
var averageTime = (elapsedTime / count);
4853
var message = "Total: " + elapsedTime + " ms. Avg: " + averageTime + " ms.";
49-
trace.write(message, trace.categories.Test, trace.messageType.info);
54+
if (trace.enabled) {
55+
trace.write(message, trace.categories.Test, trace.messageType.info);
56+
}
5057
return finishedCallback(message);
5158
}, function (error) {
5259
console.log(error.message);

‎apps/perf-tests/controls-page.ts‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ export class ControlsPage extends pagesModule.Page implements definition.Control
4040
}
4141

4242
public onNavigatedTo() {
43-
trace.write("Creating " + this._count + " controls...", trace.categories.Test, trace.messageType.info);
43+
if (trace.enabled) {
44+
trace.write("Creating " + this._count + " controls...", trace.categories.Test, trace.messageType.info);
45+
}
4446
this._infoLabel.text = "Creating " + this._count + " controls...";
4547
var startTime = new Date().getMilliseconds();
4648
for (var i = 0; i < this._childStackLayoutCount; i++) {
@@ -55,7 +57,9 @@ export class ControlsPage extends pagesModule.Page implements definition.Control
5557
}
5658
var elapsedTime = Math.round(new Date().getMilliseconds() - startTime);
5759
var message = "Created " + this._count + " controls in " + elapsedTime + " ms.";
58-
trace.write(message, trace.categories.Test, trace.messageType.info);
60+
if (trace.enabled) {
61+
trace.write(message, trace.categories.Test, trace.messageType.info);
62+
}
5963
this._infoLabel.text = message;
6064
}
6165
}

‎apps/tests/TKUnit.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ export function time(): number {
4141

4242
export var write = function write(message: string, type?: number) {
4343
//console.log(message);
44-
trace.write(message, trace.categories.Test, type);
44+
if (trace.enabled) {
45+
trace.write(message, trace.categories.Test, type);
46+
}
4547
}
4648

4749
var runTest = function (testInfo: TestInfoEntry) {

‎apps/tests/navigation/transition-tests.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import {AnimationCurve} from "ui/enums"
99

1010
function _testTransition(navigationTransition: NavigationTransition) {
1111
var testId = `Transition[${JSON.stringify(navigationTransition)}]`;
12-
trace.write(`Testing ${testId}`, trace.categories.Test);
12+
if (trace.enabled) {
13+
trace.write(`Testing ${testId}`, trace.categories.Test);
14+
}
1315
var navigationEntry: NavigationEntry = {
1416
create: function (): Page {
1517
let page = new Page();

‎apps/tests/trace-tests.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ export var test_DummyTestForSnippetOnly2 = function () {
2929
// >> trace-message
3030
trace.setCategories(trace.categories.Debug);
3131
trace.enable();
32-
trace.write("My Debug Message", trace.categories.Debug);
32+
if (trace.enabled) {
33+
trace.write("My Debug Message", trace.categories.Debug);
34+
}
3335
// << trace-message
3436
}

‎file-system/file-name-resolver.ts‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,9 @@ export class FileNameResolver implements definition.FileNameResolver {
138138
var candidates = this.getFileCandidatesFromFolder(path, ext);
139139
result = findFileMatch(path, ext, candidates, this._context);
140140

141-
trace.write("Resolved file name for \"" + path + ext + "\" result: " + (result ? result : "no match found"), trace.categories.Navigation);
141+
if (trace.enabled) {
142+
trace.write("Resolved file name for \"" + path + ext + "\" result: " + (result ? result : "no match found"), trace.categories.Navigation);
143+
}
142144
return result;
143145
}
144146

@@ -160,7 +162,9 @@ export class FileNameResolver implements definition.FileNameResolver {
160162
});
161163
}
162164
else {
163-
trace.write("Could not find folder " + folderPath + " when loading " + path + ext, trace.categories.Navigation);
165+
if (trace.enabled) {
166+
trace.write("Could not find folder " + folderPath + " when loading " + path + ext, trace.categories.Navigation);
167+
}
164168
}
165169

166170
return candidates;
@@ -171,7 +175,9 @@ export function findFileMatch(path: string, ext: string, candidates: Array<strin
171175
var bestValue = -1
172176
var result: string = null;
173177

174-
trace.write("Candidates for " + path + ext + ": " + candidates.join(", "), trace.categories.Navigation);
178+
if (trace.enabled) {
179+
trace.write("Candidates for " + path + ext + ": " + candidates.join(", "), trace.categories.Navigation);
180+
}
175181
for (var i = 0; i < candidates.length; i++) {
176182
var filePath = candidates[i];
177183
var qualifiersStr: string = filePath.substr(path.length, filePath.length - path.length - ext.length);

‎trace/trace.d.ts‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@ declare module "trace" {
1111
* Disables the trace module.
1212
*/
1313
export function disable(): void;
14+
15+
/**
16+
* A field that indicates if the tracer is enabled and there is a point in writing messages.
17+
* Check this to avoid writing complex string templates.
18+
* Send error messages should even if tracing is disabled.
19+
*/
20+
export var enabled: boolean;
1421

1522
/**
1623
* Adds a TraceWriter instance to the trace module.

‎trace/trace.ts‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import definition = require("trace");
22
import * as types from "utils/types";
33

4-
var _enabled = false;
4+
export var enabled = false;
55
var _categories = {};
66
var _writers: Array<definition.TraceWriter> = [];
77
var _eventListeners: Array<definition.EventListener> = [];
88

99
export function enable() {
10-
_enabled = true;
10+
enabled = true;
1111
}
1212

1313
export function disable() {
14-
_enabled = false;
14+
enabled = false;
1515
}
1616

1717
export function isCategorySet(category: string): boolean {
@@ -56,7 +56,7 @@ export function write(message: any, category: string, type?: number) {
5656
}
5757
}
5858

59-
if (!_enabled) {
59+
if (!enabled) {
6060
return;
6161
}
6262

@@ -71,7 +71,7 @@ export function write(message: any, category: string, type?: number) {
7171
}
7272

7373
export function notifyEvent(object: Object, name: string, data?: any) {
74-
if (!_enabled) {
74+
if (!enabled) {
7575
return;
7676
}
7777

0 commit comments

Comments
 (0)