-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Performance
Andy Williams edited this page Dec 4, 2018
·
7 revisions
Graphical toolkits vary in many ways and each has various pros and cons in their design and implementation. This page aims to provide some context for different toolkits in a reasonably subjective manner. Of course we can't measure developer enjoyment or ease of learning - but we can measure runtime statistics :).
The application we will use is a simple Game of Life simulation. To keep things as equal as possible the board will be loaded with 50 * 50 cells each approximately 10 pixels in size, the game should run at 3 frames per second.
| Toolkit | Lang | File size | Compressed | CPU | Mem Usage | Start time | URL |
|---|---|---|---|---|---|---|---|
| Fyne (efl) | Go | 18.7MB | 6.6MB | 3.5% | 16.1MB | 0.1s | github |
| Fyne (gl) | Go | 5.2MB | 2.1MB | 4.3% | 20.0MB | 0.2s | github (-tags gl) |
| Swing | Java | 0.5MB | 0.5MB | 3.0% | 261.7MB | 5s | github |
| Cocoa | Obj-C | 1.7MB | 0.7MB | 9.4% | 20.8MB | 0.2s | github |
* The Fyne GL driver is a work in progress and has not yet been optimised...
Please feel free to add your own examples to this list. The reference platform is macOS on a 2.66GHz Intel Xeon with 32GB RAM.