{ "id": "161786", "key": "TIMOB-23637", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-07-21T13:25:32.000+0000", "created": "2016-07-14T12:01:41.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "issuelinks": [ { "id": "52247", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "161774", "key": "TIMOB-23635", "fields": { "summary": "Windows app performance issue", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "52203", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "160357", "key": "TIMOB-23411", "fields": { "summary": "Windows: After app crash app is unable to boot.", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-10-20T15:46:18.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "12642", "name": "Windows", "description": "Windows authoring support" } ], "description": "I recently found that one the performance bottleneck of Titanium Windows is occurs during object creation ({{Ti.createXXX}} etc). On my Lumia 630 I observed it takes almost 1 second to create 100 proxy object, and it can be serious issue especially on app startup because Windows Phone tend to kill the app when app startup takes too long.\r\n\r\n*Sample code*\r\n{code}\r\nvar start = +new Date();\r\nfor (var i = 0; i < 100; i++) {\r\n var obj = Ti.createBuffer({length: 2});\r\n}\r\nalert((+new Date() - start) + ' msec');\r\n{code}\r\n\r\n\r\n{code}\r\nvar start = +new Date();\r\nfor (var i = 0; i < 100; i++) {\r\n var obj = Ti.UI.createLabel({text:'test ' + i});\r\n}\r\nalert((+new Date() - start) + ' msec');\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Windows: Titanium object creation takes too long", "creator": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 682, "state": "closed", "name": "2016 Sprint 15 SDK", "startDate": "2016-07-16T00:19:20.819Z", "endDate": "2016-07-30T00:19:00.000Z", "completeDate": "2016-08-01T04:40:11.421Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "391076", "author": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "body": "https://github.com/appcelerator/titanium_mobile_windows/pull/779\r\n\r\nWe have observed this saves over 70% of time.\r\n\r\n- Ti SDK 6.0.0.v20160714010528 ... 5.5 sec\r\n- Ti SDK 6.0.0.v20160714010528 with this update ... 1.7 sec\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({ backgroundColor: 'green' });\r\nvar data = [];\r\n\r\nvar start = +new Date();\r\nfor (var i = 0; i < 100; i++) {\r\n var task = {\r\n Id: i,\r\n Title: 'Row ' + i,\r\n Data: 'Data ' + i\r\n };\r\n var tvr = Ti.UI.createTableViewRow({\r\n height: 70,\r\n taskId: task.Id\r\n });\r\n tvr.add(Ti.UI.createLabel({\r\n text: task.Title,\r\n color: \"#000\",\r\n top: 5,\r\n left: 20\r\n }));\r\n tvr.add(Ti.UI.createLabel({\r\n text: task.Data,\r\n color: \"#000\",\r\n top: 30,\r\n left: 20,\r\n font: {\r\n fontSize: 12\r\n }\r\n }));\r\n data.push(tvr);\r\n}\r\n\r\nvar table = Ti.UI.createTableView({data: data});\r\n\r\ntable.addEventListener('click', function (e) {\r\n alert(e.row.taskId)\r\n});\r\n\r\nalert('Total: ' + (+new Date() - start));\r\n\r\nwin.add(table);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-20T06:26:34.000+0000", "updated": "2016-07-20T06:26:34.000+0000" }, { "id": "399499", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "Verified using:\r\n\r\nOS: Microsoft Windows 10 Pro 10.0.14393\r\nAppc core: 6.0.0-62\r\nAppc NPM: 4.2.8-9\r\nTi SDK: 6.0.0.v20161019091022\r\nAppc Studio: 4.8.0.201610171310\r\nLumia 550 10.0\r\nLumia 520 8.1\r\n\r\nPerformance of titanium object creation has been improved\r\n\r\nClosing ticket", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2016-10-20T15:46:10.000+0000", "updated": "2016-10-20T15:46:10.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }