You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Jon Rista (JIRA)" <ji...@apache.org> on 2019/02/12 19:49:00 UTC

[jira] [Commented] (CB-13767) Huge performance issues moving from cordova 6.5 to 8 due to cordova-fetch

    [ https://issues.apache.org/jira/browse/CB-13767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16766379#comment-16766379 ] 

Jon Rista commented on CB-13767:
--------------------------------

I am not sure this is resolved. I finally had to update to Cordova 8, and I just had an 11m3s install run (see below, last line of the log shows the prompt, which includes the run time of the previous command).

Our normal builds are about 10 minutes. With cordova-fetch taking 11-15 minutes to run, it is more than doubling our build times. When we are working locally, especially on plugin issues (which seem to occur fairly often with plugin abandonment these days), we have to sit there for 15 minutes waiting for the add/prepare to finish.

This is really untenable. It needs to be fixed. 

 

VERSIONS:
----------------

➜ ionic info

Ionic:

ionic (Ionic CLI) : 4.10.2
 Ionic Framework : ionic-angular 3.9.2
 @ionic/app-scripts : 3.2.2

Cordova:

cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
 Cordova Platforms : ios 5.0.0
 Cordova Plugins : no whitelisted plugins (21 plugins total)

System:

ios-sim : 7.0.0
 NodeJS : v8.11.3 (/Users/jonrista/.nvm/versions/node/v8.11.3/bin/node)
 npm : 6.7.0
 OS : macOS Mojave
 Xcode : Xcode 10.1 Build version 10B61

 

 

PLATFORM ADD LOG:
-------------------------------

{{➜ ionic cordova platform add ios }}
{{> cordova platform add ios --save}}
{{Using cordova-fetch for cordova-ios@5.0.0}}
{{Adding ios project...}}
{{Creating Cordova project for the iOS platform:}}
{{ Path: platforms/ios}}
{{ Package: com.jpma.EBTShopper}}
{{ Name: WICShopper}}
{{iOS project created with cordova-ios@5.0.0}}
{{Discovered plugin "card.io.cordova.mobilesdk" in config.xml. Adding it to the project}}
{{Installing "card.io.cordova.mobilesdk" for ios}}
{{Adding card.io.cordova.mobilesdk to package.json}}
{{Saved plugin info for "card.io.cordova.mobilesdk" to config.xml}}
{{Discovered plugin "cordova-plugin-app-version" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-app-version" for ios}}
{{Adding cordova-plugin-app-version to package.json}}
{{Saved plugin info for "cordova-plugin-app-version" to config.xml}}
{{Discovered plugin "cordova-plugin-camera" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-camera" for ios}}
{{Adding cordova-plugin-camera to package.json}}
{{Saved plugin info for "cordova-plugin-camera" to config.xml}}
{{Discovered plugin "cordova-plugin-device" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-device" for ios}}
{{Adding cordova-plugin-device to package.json}}
{{Saved plugin info for "cordova-plugin-device" to config.xml}}
{{Discovered plugin "cordova-plugin-geolocation" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-geolocation" for ios}}
{{Adding cordova-plugin-geolocation to package.json}}
{{Saved plugin info for "cordova-plugin-geolocation" to config.xml}}
{{Discovered plugin "cordova-plugin-google-analytics" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-google-analytics" for ios}}
{{Adding cordova-plugin-google-analytics to package.json}}
{{Saved plugin info for "cordova-plugin-google-analytics" to config.xml}}
{{Discovered plugin "cordova-plugin-inappbrowser" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-inappbrowser" for ios}}
{{Adding cordova-plugin-inappbrowser to package.json}}
{{Saved plugin info for "cordova-plugin-inappbrowser" to config.xml}}
{{Discovered plugin "cordova-plugin-network-information" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-network-information" for ios}}
{{Adding cordova-plugin-network-information to package.json}}
{{Saved plugin info for "cordova-plugin-network-information" to config.xml}}
{{Discovered plugin "cordova-plugin-splashscreen" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-splashscreen" for ios}}
{{Adding cordova-plugin-splashscreen to package.json}}
{{Saved plugin info for "cordova-plugin-splashscreen" to config.xml}}
{{Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-statusbar" for ios}}
{{Adding cordova-plugin-statusbar to package.json}}
{{Saved plugin info for "cordova-plugin-statusbar" to config.xml}}
{{Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-whitelist" for ios}}
{{Adding cordova-plugin-whitelist to package.json}}
{{Saved plugin info for "cordova-plugin-whitelist" to config.xml}}
{{Discovered plugin "cordova-plugin-x-socialsharing" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-x-socialsharing" for ios}}
{{Installing "es6-promise-plugin" for ios}}
{{Adding cordova-plugin-x-socialsharing to package.json}}
{{Saved plugin info for "cordova-plugin-x-socialsharing" to config.xml}}
{{Discovered plugin "cordova-sqlite-storage" in config.xml. Adding it to the project}}
{{Installing "cordova-sqlite-storage" for ios}}
{{installing external dependencies via npm}}
{{npm install of external dependencies ok}}
{{Adding cordova-sqlite-storage to package.json}}
{{Saved plugin info for "cordova-sqlite-storage" to config.xml}}
{{Discovered plugin "ionic-plugin-keyboard" in config.xml. Adding it to the project}}
{{Installing "ionic-plugin-keyboard" for ios}}
{{Adding ionic-plugin-keyboard to package.json}}
{{Saved plugin info for "ionic-plugin-keyboard" to config.xml}}
{{Discovered plugin "phonegap-plugin-barcodescanner" in config.xml. Adding it to the project}}
{{Installing "phonegap-plugin-barcodescanner" for ios}}
{{Adding phonegap-plugin-barcodescanner to package.json}}
{{Saved plugin info for "phonegap-plugin-barcodescanner" to config.xml}}
{{Discovered plugin "cordova-plugin-compat" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-compat" for ios}}
{{Adding cordova-plugin-compat to package.json}}
{{Saved plugin info for "cordova-plugin-compat" to config.xml}}
{{Discovered plugin "cordova-custom-config" in config.xml. Adding it to the project}}
{{Installing "cordova-custom-config" for ios}}
{{Adding cordova-custom-config to package.json}}
{{Saved plugin info for "cordova-custom-config" to config.xml}}
{{Discovered plugin "cordova-plugin-directions" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-directions" for ios}}
{{Adding cordova-plugin-directions to package.json}}
{{Saved plugin info for "cordova-plugin-directions" to config.xml}}
{{Discovered plugin "uk.co.workingedge.phonegap.plugin.launchnavigator" in config.xml. Adding it to the project}}
{{Installing "uk.co.workingedge.phonegap.plugin.launchnavigator" for ios}}
{{Installing "cordova-plugin-actionsheet" for ios}}
{{Adding uk.co.workingedge.phonegap.plugin.launchnavigator to package.json}}
{{Saved plugin info for "uk.co.workingedge.phonegap.plugin.launchnavigator" to config.xml}}
{{Discovered plugin "cordova-plugin-themeablebrowser" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-themeablebrowser" for ios}}
{{Adding cordova-plugin-themeablebrowser to package.json}}
{{Saved plugin info for "cordova-plugin-themeablebrowser" to config.xml}}
{{Discovered plugin "cordova-plugin-local-notification" in config.xml. Adding it to the project}}
{{Installing "cordova-plugin-local-notification" for ios}}
{{Plugin dependency "cordova-plugin-device@2.0.2" already fetched, using that version.}}
{{Dependent plugin "cordova-plugin-device" already installed on ios.}}
{{Installing "cordova-plugin-badge" for ios}}
{{Adding cordova-plugin-local-notification to package.json}}
{{Saved plugin info for "cordova-plugin-local-notification" to config.xml}}
{{Running command: /Users/jonrista/contracts/wicshopper2/hooks/after_prepare/010_add_platform_class.js /Users/jonrista/contracts/wicshopper2}}
{{cordova-custom-config: Applied custom config from config.xml to /Users/jonrista/contracts/wicshopper2/platforms/ios/WICShopper/WICShopper-Info.plist}}
{{--save flag or autosave detected}}
{{Saving ios@~5.0.0 into config.xml file ...}}{{wicshopper2 on  wic-501 [$✘!+] is 📦 v4.7.3 via ⬢ v8.11.3 took 11m 3s }}
{{➜}}

 

> Huge performance issues moving from cordova 6.5 to 8 due to cordova-fetch
> -------------------------------------------------------------------------
>
>                 Key: CB-13767
>                 URL: https://issues.apache.org/jira/browse/CB-13767
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: cordova-lib
>            Reporter: Andrew Crites
>            Priority: Major
>         Attachments: image-2018-09-07-15-23-30-849.png, image-2018-09-07-15-24-06-688.png
>
>
> This is for a project with a wide variety of plugins ... about 25. This may be above average, but not extreme. I've updated the project from cordova 6.5 to cordova 8. Cordova 8 always uses {{cordova-fetch}} to install plugins, so I can't opt out. Before, I was not using {{cordova-fetch}}.
> {code}
> $ time npx cordova@6.5 platform add ios
>   23.85s user 9.26s system 130% cpu 25.414 total
> $ time npx cordova@8 platform add ios --nosave
>   402.44s user 61.94s system 119% cpu 6:28.09 total
> {code}
> That takes over 15 times longer. {{--nosave}} was used since this is the default behavior for 6.5.
> For subsequent installations using {{--save}} (or default) the performance is still like this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org