-
Type: Investigation
-
Resolution: Gone away
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Compass
-
Labels:None
-
Not Needed
With this spike we want to determine what is the best way to run background operations in Electron. Web workers? Hidden electron windows?
When this spike is done, we know what we need to do to:
- offload operations to background processes
- cancel the operations running in the background
- report errors that happen in background operations to the foreground processes
- notify the foreground process when the background operation is completed and return the results when needed
A good place to start for a PoC could be import/export.
WIP scope doc is in WRITING-4477.
Some good material:
- https://medium.com/@david.gilbertson/should-you-should-be-using-web-workers-hint-probably-not-9b6d26dc8c6a
- https://slack.engineering/rebuilding-slack-on-the-desktop-308d6fe94ae4
- https://developers.google.com/web/tools/chrome-devtools/evaluate-performance
- I found this talk pretty good: https://www.infoq.com/presentations/electron-pitfalls/
- https://blog.scottlogic.com/2019/05/21/analysing-electron-performance-chromium-tracing.html