Hello all,
Our team is currently designing an application platform that relies on possibility to handle (not to run) several thousands of applications simultaneously. Maybe the Chromium project isn't the proper choice for such task, but for now it's most suitable for us.
So we performed some measurements and noticed that the time required for the platform to start raises close-to-linear when huge amount of applications are installed in user profile. Additionally, it takes more time to launch a specific application, and that time also linearly depends on number of installed applications. (Unfortunately, we don't yet know whether it depends on number of *enabled* applications or not.) In some tests we use custom start page to override chrome://newtab in order not to put entire list of apps into DOM. After being launched, each application works independently on number of other applications (at least, it seems like that).
It also seems that hard disk doesn't matter: even when that huge user profile is located on a RAMdisk, all timings are exactly the same. We have simple hosted non-background apps with some JS and CSS, any of them has its own public key in its manifest.json. My early assumption is that loading procedure highly depends on CPU because it, let's say, have to verify all application keys and thus have to compute thousands of SHA-256 hashes, but I'm not sure.
I realize that probably the best tip in this situation is "if it doesn't work this way - don't use it this way", but I'm asking for any advice: what we can do to speed up the launch of an extension?