Skip to content

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.

Statistics

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...

Contributions

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.

Welcome to the Fyne wiki.

Project documentation

Getting involved

Platform details

Clone this wiki locally