trayscale icon indicating copy to clipboard operation
trayscale copied to clipboard

[Improvement] Consider using puregotk instead of gotk4 to improve compilation performance

Open larsb24 opened this issue 9 months ago • 3 comments

Compilation of Trayscale takes quite a while due to gotk4's C-bindings.

https://github.com/jwijenbergh/puregotk claims to improve compilation time a lot by not depending on Cgo.

In case puregotk provides all the bindings needed for Trayscale, I think it could be worth considering a switch.

larsb24 avatar May 23 '25 07:05 larsb24

Ooh. I'd actually been thinking of doing something like this myself, not just because of the compilation speed problem but also because of the absurd size of the resulting binary. 50 MB is a tad much.

While I expect that there will be features missing that I need, I'll definitely take a look. Maybe I can use it as a starting point.

DeedleFake avatar May 23 '25 08:05 DeedleFake

Sounds good. Keep up the great work! 👍

larsb24 avatar May 23 '25 09:05 larsb24

One way of speeding up compile times a lot in the meantime is to switch to Clang + LLD (or Mold) by default. I have seen drastic decreases in uncached build times on my own systems and in CI. Some helpful notes:

  • https://github.com/flathub/io.github.jacalz.hegelmote/pull/8/files
  • https://github.com/fyne-io/fyne/pull/5775/files
  • https://github.com/fyne-io/fyne/pull/5932/files

Jacalz avatar Sep 26 '25 07:09 Jacalz