Commit graph

10 commits

Author SHA1 Message Date
Michael Aaron Murphy
8cf372c9b9
perf: inline public getters/setters, and use non-generic inner functions
To reduce compile-times and avoid some overhead to binary size, this will modify some of our
generic functions to use non-generic inner functions where possible. The inner functions are
marked carefully with `#[inline(never)]` to prevent being inlined by LLVM at their callsites

While looking for generic functions to optimize, I have also taken the opportunity to annotate
public non-generic getters and setters with `#[inline]` to ensure that LLVM will inline them
across crate boundaries. By default, only generic functions are automatically inlined, and
only when enabling fat LTO are constant functions reliably inlined across crate boundaries.
2025-03-21 13:31:34 +01:00
Ashley Wulber
50d2104485 fix: include config id in subscription id 2025-03-09 06:05:01 +01:00
Ashley Wulber
3f2ba11d56 refactor: send initial config after watching for changes 2024-12-31 11:23:28 -05:00
Ashley Wulber
0491c4baaa libcosmic updates 2024-10-18 14:04:39 -04:00
Ashley Wulber
78a137214d chore: update zbus 2024-05-17 00:00:24 +02:00
Ashley Wulber
6a97435263 fix(cosmic-config): attempt to reconnect to the settings daemon 2024-05-12 21:27:22 +02:00
Ashley Wulber
efe4ce2f5b refactor: config improvements 2024-01-18 20:19:32 -07:00
Ashley Wulber
eff22fdb34 chore(cosmic-config): update to include state and remove ping/pong 2024-01-02 15:12:14 +01:00
Ashley Wulber
e1c53277d9 cleanup 2024-01-02 15:12:14 +01:00
Ashley Wulber
06c33dcf06 refactor: optional config subscriptions using dbus 2024-01-02 15:12:14 +01:00