----------------------------------------------------------------------------------- Test Code ----------------------------------------------------------------------------------- var win = Ti.UI.createWindow({backgroundColor:'white'}); var button = Ti.UI.createButton({title:'START TEST'}); win.add(button); button.addEventListener('click',function(){ runTest(); }) win.open(); function genData(){ var win1 = Ti.UI.createWindow({backgroundColor:'blue'}); var i=0 var j=0; var top = 0; var left = 0; for (i=0;i<10;i++) { left = 0; for (j=0; j<10;j++) { var v = Ti.UI.createView({ top:top, left:left, width:20, height:20, backgroundColor:'white' }); win1.add(v); left += 25; } top += 25; } return win1; } var data = []; var win1 = genData(); var startTime; win1.addEventListener('open',function(){ var endTime = new Date().getTime(); var total = endTime - startTime; Ti.API.info('RUN '+ counter+' '+total); counter ++; data.push(total); setTimeout(closeWin,1000); }) var counter; function runTest(){ counter = 0; button.enabled = false; Ti.API.info('VISHAL - RAW DATA'); setTimeout(openWin,100); } function printResult(){ var min = data[0]; var max = data[0]; var avg = data[0]; var i; for (i=1;i max) { max = temp; } avg = avg + temp; } avg = avg / 30; Ti.API.info('MIN '+ min); Ti.API.info('MAX '+ max); Ti.API.info('AVERAGE '+ avg); data = []; } function openWin(){ if (counter < 30) { startTime = new Date().getTime(); win1.open(); } else { printResult(); button.enabled = true; } } function closeWin(){ win1.close(); setTimeout(openWin,1000); } ----------------------------------------------------------------------------------- Test Environment Titanium SDK 3.2.0 (Latest Master) Samsung S3 (4.1.1) ----------------------------------------------------------------------------------- Experiment - Move layout property processing from process properties to handleCreationDict Simple lightweight window with 100 children (reopened 30 times for each test run) ----------------------------------------------------------------------------------- Results with current implementation 04-29 13:26:26.470: I/TiAPI(1350): VISHAL - RAW DATA 04-29 13:26:26.811: I/TiAPI(1350): RUN 0 237 04-29 13:26:29.133: I/TiAPI(1350): RUN 1 241 04-29 13:26:31.426: I/TiAPI(1350): RUN 2 214 04-29 13:26:33.718: D/dalvikvm(1350): GC_CONCURRENT freed 4168K, 24% free 16075K/20995K, paused 13ms+33ms, total 142ms 04-29 13:26:33.868: I/TiAPI(1350): RUN 3 363 04-29 13:26:36.091: I/TiAPI(1350): RUN 4 197 04-29 13:26:38.313: I/TiAPI(1350): RUN 5 218 04-29 13:26:40.535: I/TiAPI(1350): RUN 6 192 04-29 13:26:42.748: I/TiAPI(1350): RUN 7 195 04-29 13:26:44.970: I/TiAPI(1350): RUN 8 197 04-29 13:26:47.212: I/TiAPI(1350): RUN 9 205 04-29 13:26:49.465: I/TiAPI(1350): RUN 10 239 04-29 13:26:49.535: D/dalvikvm(1350): GC_CONCURRENT freed 5288K, 27% free 17033K/23111K, paused 11ms+23ms, total 131ms 04-29 13:26:51.697: I/TiAPI(1350): RUN 11 198 04-29 13:26:52.328: I/TiAnalyticsSvc(1350): (Thread-7217) [29671,29671] Analytics Service Started 04-29 13:26:53.319: I/TiAnalyticsSvc(1350): (Thread-7217) [993,30664] Stopping Analytics Service 04-29 13:26:53.910: I/TiAPI(1350): RUN 12 203 04-29 13:26:56.132: I/TiAPI(1350): RUN 13 201 04-29 13:26:58.344: I/TiAPI(1350): RUN 14 192 04-29 13:27:00.567: I/TiAPI(1350): RUN 15 195 04-29 13:27:02.789: I/TiAPI(1350): RUN 16 199 04-29 13:27:05.041: I/TiAPI(1350): RUN 17 225 04-29 13:27:07.334: D/dalvikvm(1350): GC_CONCURRENT freed 6605K, 31% free 16755K/24135K, paused 16ms+38ms, total 216ms 04-29 13:27:07.494: I/TiAPI(1350): RUN 18 420 04-29 13:27:09.756: I/TiAPI(1350): RUN 19 238 04-29 13:27:11.969: I/TiAPI(1350): RUN 20 192 04-29 13:27:14.211: I/TiAPI(1350): RUN 21 214 04-29 13:27:16.444: I/TiAPI(1350): RUN 22 208 04-29 13:27:18.706: I/TiAPI(1350): RUN 23 214 04-29 13:27:20.948: I/TiAPI(1350): RUN 24 192 04-29 13:27:23.221: I/TiAPI(1350): RUN 25 238 04-29 13:27:23.291: D/dalvikvm(1350): GC_CONCURRENT freed 5899K, 30% free 17132K/24135K, paused 11ms+20ms, total 128ms 04-29 13:27:25.433: I/TiAPI(1350): RUN 26 200 04-29 13:27:27.706: I/TiAPI(1350): RUN 27 192 04-29 13:27:29.938: I/TiAPI(1350): RUN 28 204 04-29 13:27:32.170: I/TiAPI(1350): RUN 29 199 04-29 13:27:34.193: I/TiAPI(1350): MIN 192 04-29 13:27:34.193: I/TiAPI(1350): MAX 420 04-29 13:27:34.203: I/TiAPI(1350): AVERAGE 220.73333333333332 04-29 13:28:20.882: I/TiAPI(1350): VISHAL - RAW DATA 04-29 13:28:21.133: I/TiAPI(1350): RUN 0 142 04-29 13:28:23.345: I/TiAPI(1350): RUN 1 204 04-29 13:28:25.587: I/TiAPI(1350): RUN 2 212 04-29 13:28:27.910: D/dalvikvm(1350): GC_CONCURRENT freed 6434K, 30% free 17144K/24263K, paused 11ms+25ms, total 143ms 04-29 13:28:27.920: I/TiAPI(1350): RUN 3 307 04-29 13:28:30.152: I/TiAPI(1350): RUN 4 200 04-29 13:28:32.355: I/TiAPI(1350): RUN 5 187 04-29 13:28:34.577: I/TiAPI(1350): RUN 6 195 04-29 13:28:36.799: I/TiAPI(1350): RUN 7 199 04-29 13:28:39.022: I/TiAPI(1350): RUN 8 190 04-29 13:28:41.264: I/TiAPI(1350): RUN 9 218 04-29 13:28:43.517: I/TiAPI(1350): RUN 10 209 04-29 13:28:45.829: D/dalvikvm(1350): GC_CONCURRENT freed 6462K, 30% free 17050K/24263K, paused 12ms+24ms, total 128ms 04-29 13:28:45.909: I/TiAPI(1350): RUN 11 333 04-29 13:28:48.121: I/TiAPI(1350): RUN 12 185 04-29 13:28:50.344: I/TiAPI(1350): RUN 13 202 04-29 13:28:52.556: I/TiAPI(1350): RUN 14 193 04-29 13:28:54.779: I/TiAPI(1350): RUN 15 193 04-29 13:28:57.011: I/TiAPI(1350): RUN 16 209 04-29 13:28:59.223: I/TiAPI(1350): RUN 17 199 04-29 13:29:01.436: I/TiAPI(1350): RUN 18 198 04-29 13:29:03.708: D/dalvikvm(1350): GC_CONCURRENT freed 6468K, 30% free 17010K/24263K, paused 12ms+23ms, total 133ms 04-29 13:29:03.798: I/TiAPI(1350): RUN 19 323 04-29 13:29:06.011: I/TiAPI(1350): RUN 20 188 04-29 13:29:08.193: I/TiAPI(1350): RUN 21 180 04-29 13:29:10.405: I/TiAPI(1350): RUN 22 185 04-29 13:29:12.608: I/TiAPI(1350): RUN 23 182 04-29 13:29:14.830: I/TiAPI(1350): RUN 24 190 04-29 13:29:17.072: I/TiAPI(1350): RUN 25 194 04-29 13:29:19.285: I/TiAPI(1350): RUN 26 194 04-29 13:29:21.567: D/dalvikvm(1350): GC_CONCURRENT freed 6477K, 31% free 16917K/24263K, paused 13ms+35ms, total 167ms 04-29 13:29:21.707: I/TiAPI(1350): RUN 27 378 04-29 13:29:23.950: I/TiAPI(1350): RUN 28 201 04-29 13:29:26.202: I/TiAPI(1350): RUN 29 202 04-29 13:29:27.977: I/TiAPI(1350): MIN 142 04-29 13:29:27.977: I/TiAPI(1350): MAX 378 04-29 13:29:27.977: I/TiAPI(1350): AVERAGE 213.06666666666666 04-29 13:29:34.843: I/TiAPI(1350): VISHAL - RAW DATA 04-29 13:29:35.124: I/TiAPI(1350): RUN 0 180 04-29 13:29:37.356: I/TiAPI(1350): RUN 1 190 04-29 13:29:39.568: I/TiAPI(1350): RUN 2 190 04-29 13:29:41.851: I/TiAPI(1350): RUN 3 234 04-29 13:29:44.093: I/TiAPI(1350): RUN 4 201 04-29 13:29:44.213: D/dalvikvm(1350): GC_CONCURRENT freed 5994K, 30% free 17085K/24263K, paused 16ms+19ms, total 117ms 04-29 13:29:46.346: I/TiAPI(1350): RUN 5 217 04-29 13:29:48.568: I/TiAPI(1350): RUN 6 191 04-29 13:29:50.840: I/TiAPI(1350): RUN 7 220 04-29 13:29:53.063: I/TiAPI(1350): RUN 8 192 04-29 13:29:55.325: I/TiAPI(1350): RUN 9 206 04-29 13:29:57.558: I/TiAPI(1350): RUN 10 191 04-29 13:29:59.790: I/TiAPI(1350): RUN 11 211 04-29 13:30:02.152: D/dalvikvm(1350): GC_CONCURRENT freed 6369K, 30% free 17084K/24263K, paused 12ms+25ms, total 148ms 04-29 13:30:02.182: I/TiAPI(1350): RUN 12 352 04-29 13:30:04.405: I/TiAPI(1350): RUN 13 215 04-29 13:30:06.647: I/TiAPI(1350): RUN 14 203 04-29 13:30:08.910: I/TiAPI(1350): RUN 15 231 04-29 13:30:11.142: I/TiAPI(1350): RUN 16 192 04-29 13:30:13.364: I/TiAPI(1350): RUN 17 188 04-29 13:30:15.587: I/TiAPI(1350): RUN 18 195 04-29 13:30:17.859: I/TiAPI(1350): RUN 19 212 04-29 13:30:20.122: D/dalvikvm(1350): GC_CONCURRENT freed 6446K, 31% free 16955K/24263K, paused 12ms+24ms, total 109ms 04-29 13:30:20.252: I/TiAPI(1350): RUN 20 362 04-29 13:30:22.474: I/TiAPI(1350): RUN 21 196 04-29 13:30:24.707: I/TiAPI(1350): RUN 22 192 04-29 13:30:26.949: I/TiAPI(1350): RUN 23 211 04-29 13:30:29.211: I/TiAPI(1350): RUN 24 194 04-29 13:30:31.474: I/TiAPI(1350): RUN 25 199 04-29 13:30:33.686: I/TiAPI(1350): RUN 26 190 04-29 13:30:35.908: I/TiAPI(1350): RUN 27 193 04-29 13:30:38.171: D/dalvikvm(1350): GC_CONCURRENT freed 6460K, 31% free 16837K/24263K, paused 13ms+34ms, total 142ms 04-29 13:30:38.321: I/TiAPI(1350): RUN 28 368 04-29 13:30:40.533: I/TiAPI(1350): RUN 29 197 04-29 13:30:42.556: I/TiAPI(1350): MIN 180 04-29 13:30:42.556: I/TiAPI(1350): MAX 368 04-29 13:30:42.556: I/TiAPI(1350): AVERAGE 217.1 ----------------------------------------------------------------------------------- Results with modification 04-29 13:40:33.311: I/TiAPI(1862): VISHAL - RAW DATA 04-29 13:40:33.541: I/TiAPI(1862): RUN 0 127 04-29 13:40:35.804: I/TiAPI(1862): RUN 1 199 04-29 13:40:38.066: I/TiAPI(1862): RUN 2 171 04-29 13:40:40.309: I/TiAPI(1862): RUN 3 180 04-29 13:40:40.379: D/dalvikvm(1862): GC_CONCURRENT freed 4002K, 24% free 16132K/20995K, paused 12ms+20ms, total 98ms 04-29 13:40:42.491: I/TiAPI(1862): RUN 4 151 04-29 13:40:44.663: I/TiAPI(1862): RUN 5 144 04-29 13:40:46.856: I/TiAPI(1862): RUN 6 164 04-29 13:40:49.088: I/TiAPI(1862): RUN 7 198 04-29 13:40:51.280: I/TiAPI(1862): RUN 8 171 04-29 13:40:53.483: I/TiAPI(1862): RUN 9 150 04-29 13:40:55.675: I/TiAPI(1862): RUN 10 146 04-29 13:40:57.867: I/TiAPI(1862): RUN 11 150 04-29 13:40:59.759: I/TiAnalyticsSvc(1862): (Thread-7238) [29714,29714] Analytics Service Started 04-29 13:41:00.100: I/TiAPI(1862): RUN 12 203 04-29 13:41:00.800: I/TiAnalyticsSvc(1862): (Thread-7238) [1036,30750] Stopping Analytics Service 04-29 13:41:02.192: D/dalvikvm(1862): GC_CONCURRENT freed 6250K, 31% free 16081K/23111K, paused 15ms+10ms, total 77ms 04-29 13:41:02.332: I/TiAPI(1862): RUN 13 227 04-29 13:41:04.474: I/TiAPI(1862): RUN 14 130 04-29 13:41:06.677: I/TiAPI(1862): RUN 15 161 04-29 13:41:08.849: I/TiAPI(1862): RUN 16 158 04-29 13:41:11.021: I/TiAPI(1862): RUN 17 137 04-29 13:41:13.204: I/TiAPI(1862): RUN 18 153 04-29 13:41:15.386: I/TiAPI(1862): RUN 19 158 04-29 13:41:17.548: I/TiAPI(1862): RUN 20 144 04-29 13:41:19.721: I/TiAPI(1862): RUN 21 147 04-29 13:41:21.973: I/TiAPI(1862): RUN 22 213 04-29 13:41:22.043: D/dalvikvm(1862): GC_CONCURRENT freed 5874K, 29% free 16562K/23175K, paused 12ms+17ms, total 142ms 04-29 13:41:24.165: I/TiAPI(1862): RUN 23 160 04-29 13:41:26.328: I/TiAPI(1862): RUN 24 146 04-29 13:41:28.510: I/TiAPI(1862): RUN 25 142 04-29 13:41:30.672: I/TiAPI(1862): RUN 26 145 04-29 13:41:32.895: I/TiAPI(1862): RUN 27 146 04-29 13:41:35.087: I/TiAPI(1862): RUN 28 147 04-29 13:41:37.279: I/TiAPI(1862): RUN 29 170 04-29 13:41:39.322: I/TiAPI(1862): MIN 127 04-29 13:41:39.322: I/TiAPI(1862): MAX 227 04-29 13:41:39.322: I/TiAPI(1862): AVERAGE 161.26666666666668 04-29 13:41:58.522: I/TiAPI(1862): VISHAL - RAW DATA 04-29 13:41:58.782: I/TiAPI(1862): RUN 0 157 04-29 13:42:00.965: I/TiAPI(1862): RUN 1 151 04-29 13:42:03.187: I/TiAPI(1862): RUN 2 205 04-29 13:42:03.257: D/dalvikvm(1862): GC_CONCURRENT freed 6380K, 30% free 16596K/23687K, paused 11ms+19ms, total 159ms 04-29 13:42:05.369: I/TiAPI(1862): RUN 3 163 04-29 13:42:07.522: I/TiAPI(1862): RUN 4 139 04-29 13:42:09.714: I/TiAPI(1862): RUN 5 145 04-29 13:42:11.896: I/TiAPI(1862): RUN 6 148 04-29 13:42:14.069: I/TiAPI(1862): RUN 7 145 04-29 13:42:16.261: I/TiAPI(1862): RUN 8 152 04-29 13:42:18.453: I/TiAPI(1862): RUN 9 163 04-29 13:42:20.646: I/TiAPI(1862): RUN 10 155 04-29 13:42:22.858: I/TiAPI(1862): RUN 11 149 04-29 13:42:25.140: I/TiAPI(1862): RUN 12 228 04-29 13:42:25.190: D/dalvikvm(1862): GC_CONCURRENT freed 6403K, 30% free 16602K/23687K, paused 12ms+22ms, total 154ms 04-29 13:42:27.313: I/TiAPI(1862): RUN 13 147 04-29 13:42:29.495: I/TiAPI(1862): RUN 14 149 04-29 13:42:31.677: I/TiAPI(1862): RUN 15 168 04-29 13:42:33.880: I/TiAPI(1862): RUN 16 160 04-29 13:42:36.082: I/TiAPI(1862): RUN 17 154 04-29 13:42:38.264: I/TiAPI(1862): RUN 18 150 04-29 13:42:40.457: I/TiAPI(1862): RUN 19 162 04-29 13:42:42.629: I/TiAPI(1862): RUN 20 138 04-29 13:42:44.811: I/TiAPI(1862): RUN 21 148 04-29 13:42:47.054: I/TiAPI(1862): RUN 22 214 04-29 13:42:47.124: D/dalvikvm(1862): GC_CONCURRENT freed 6411K, 31% free 16599K/23751K, paused 12ms+20ms, total 152ms 04-29 13:42:49.276: I/TiAPI(1862): RUN 23 161 04-29 13:42:51.459: I/TiAPI(1862): RUN 24 156 04-29 13:42:53.621: I/TiAPI(1862): RUN 25 141 04-29 13:42:55.803: I/TiAPI(1862): RUN 26 145 04-29 13:42:57.975: I/TiAPI(1862): RUN 27 146 04-29 13:43:00.228: I/TiAPI(1862): RUN 28 227 04-29 13:43:02.400: I/TiAPI(1862): RUN 29 148 04-29 13:43:04.452: I/TiAPI(1862): MIN 138 04-29 13:43:04.452: I/TiAPI(1862): MAX 228 04-29 13:43:04.452: I/TiAPI(1862): AVERAGE 160.46666666666667 04-29 13:43:10.349: I/TiAPI(1862): VISHAL - RAW DATA 04-29 13:43:10.619: I/TiAPI(1862): RUN 0 178 04-29 13:43:12.811: I/TiAPI(1862): RUN 1 162 04-29 13:43:15.084: D/dalvikvm(1862): GC_CONCURRENT freed 6408K, 31% free 16576K/23751K, paused 12ms+19ms, total 128ms 04-29 13:43:15.084: I/TiAPI(1862): RUN 2 246 04-29 13:43:17.286: I/TiAPI(1862): RUN 3 161 04-29 13:43:19.458: I/TiAPI(1862): RUN 4 146 04-29 13:43:21.661: I/TiAPI(1862): RUN 5 161 04-29 13:43:23.853: I/TiAPI(1862): RUN 6 143 04-29 13:43:26.065: I/TiAPI(1862): RUN 7 141 04-29 13:43:28.248: I/TiAPI(1862): RUN 8 154 04-29 13:43:30.460: I/TiAPI(1862): RUN 9 171 04-29 13:43:32.673: I/TiAPI(1862): RUN 10 157 04-29 13:43:34.885: I/TiAPI(1862): RUN 11 157 04-29 13:43:37.127: I/TiAPI(1862): RUN 12 210 04-29 13:43:37.137: D/dalvikvm(1862): GC_CONCURRENT freed 6399K, 31% free 16601K/23751K, paused 11ms+22ms, total 114ms 04-29 13:43:39.320: I/TiAPI(1862): RUN 13 151 04-29 13:43:41.512: I/TiAPI(1862): RUN 14 147 04-29 13:43:43.724: I/TiAPI(1862): RUN 15 151 04-29 13:43:45.937: I/TiAPI(1862): RUN 16 164 04-29 13:43:48.099: I/TiAPI(1862): RUN 17 145 04-29 13:43:50.281: I/TiAPI(1862): RUN 18 149 04-29 13:43:52.474: I/TiAPI(1862): RUN 19 143 04-29 13:43:54.666: I/TiAPI(1862): RUN 20 156 04-29 13:43:56.858: I/TiAPI(1862): RUN 21 148 04-29 13:43:59.161: I/TiAPI(1862): RUN 22 251 04-29 13:43:59.201: D/dalvikvm(1862): GC_CONCURRENT freed 6411K, 31% free 16599K/23751K, paused 12ms+22ms, total 168ms 04-29 13:44:01.323: I/TiAPI(1862): RUN 23 146 04-29 13:44:03.505: I/TiAPI(1862): RUN 24 143 04-29 13:44:05.688: I/TiAPI(1862): RUN 25 147 04-29 13:44:07.880: I/TiAPI(1862): RUN 26 155 04-29 13:44:10.062: I/TiAPI(1862): RUN 27 145 04-29 13:44:12.275: I/TiAPI(1862): RUN 28 169 04-29 13:44:14.487: I/TiAPI(1862): RUN 29 157 04-29 13:44:16.509: I/TiAPI(1862): MIN 141 04-29 13:44:16.519: I/TiAPI(1862): MAX 251 04-29 13:44:16.519: I/TiAPI(1862): AVERAGE 161.8 -----------------------------------------------------------------------------------