Challenge Overview
Previously, we ran an ideation challenge to identify the bottlenecks of a performance issue in the Electron framework and find some ways to improve the performance when calling new BrowserWindow.
In this challenge, we will provide you the results of the ideation challenge and we need your help to fix a performance issue on the Electron framework targeting Mac and Linux platforms.
The original issue as well as instructions on how to reproduce an measure the issue can be found here https://github.com/electron/electron/issues/10947
Detailed Requirements
-
Fork the repo from https://github.com/ThomasKranitsas/electron and work based on the fix-new-BrowserWindow-performance branch.
-
You need to fix this performance issue based on the suggested solutions from the provided document so calling new BrowserWindow does not spend 30-300ms creating the Menu. If you have any other suggestions on how to improve the performance, we’ll be happy to discuss more on the challenge forum.
-
The fix should not break any of the existing functionalities.
-
The new code should be well documented
-
The new code should be unit tested.
Targeted Platforms:
-
MacOS
-
Linux
The provided ideation doesn’t cover the Linux platform but it should be similar to Mac.
Let’s discuss on the challenge forum if otherwise.
Important note! This is an open source project and you’ll have to follow the coding best practices established in the existing code base.
The performance will be scored in section 1.1.1 (Major Requirements) of the scorecard as it’s the main requirement for this challenge.
Final Submission Guidelines
Submit:
-
A git patch file for the latest commit in fix-new-BrowserWindow-performance branch.
-
A document explaining in details how you resolved the performance issue.