[TIMOB-26331] Windows: Improve build/launch time via Titanium CLI
GitHub Issue | n/a |
Type | Improvement |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2018-10-04T02:03:52.000+0000 |
Affected Version/s | Release 7.3.0 |
Fix Version/s | Release 7.5.0 |
Components | Windows |
Labels | n/a |
Reporter | Kota Iguchi |
Assignee | Kota Iguchi |
Created | 2018-08-23T03:21:45.000+0000 |
Updated | 2018-10-08T09:48:51.000+0000 |
Description
Building/launching apps via CLI is much slower than Visual Studio.
I suspect, Titanium Windows CLI is slower because we usually launch external tools (.exe) in order to get information/build/launch projects and then read/parse standard outputs/errors to get the results. I would expect Visual Studio doesn't do such a thing but uses public/private API to deal with them such as MSBuild API.
Attachments
https://github.com/appcelerator/titanium_mobile_windows/pull/1282
Things that work
- Reduced re-build time on device by stopping unnecessary clean build - Reduced development build (local/device) time by stopping unnecessary bundle package - Reduced build time by stopping unnecessarycmake
invocation frommsbuild
- Reduced build time by stopping unnecessary compilation for C++ files Overall this reduces 15-30 seconds build/launch time (40~% improvement).Things that do not work
- Moving to native [MSBuild API](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-api?view=vs-2017) instead of invokingmsbuild
command does not quite work to reduce build time. - Moving to native [package deployment API](https://docs.microsoft.com/en-us/windows/desktop/appxpkg/package-deployment-api) instead of invokingWinAppDeployCmd
command does not quite work to reduce deployment time.Another solution regarding development "productivity"
I would suggest leveragingliveview
rather than recompiling projects in order to improve development productivity. I even expect it works faster than Visual Studio to preview your changes!CLEAN BUILD
BEFORE
AFTER
REBUILD
BEFORE
AFTER
FR has passed, waiting on Jenkins.
Closing ticket, Verified fix in SDK Version
7.5.0.v20181005164109
Test and other information can be found at: https://github.com/appcelerator/titanium_mobile_windows/pull/1282