7e351b3...
by
Christian Hergert <email address hidden>
datetime: use malloc_trim() to release resources back to OS
We allocate a lot of memory while building the timezone database from
libgweather all to have that put into the GSlice allocation queues we'll
barely if ever touch again.
By forcing things to use malloc, we can use malloc_trim() on supported
GLibc systems to madvise() the kernel it can take the memory back.
With the previous patches and this, gsd-datetime drops from about 9MB down
to just under 3MB. We could probably go even further if we change
libgweather a bit, but this gets it small enough for me.
However, there are other processes (such as evolution-calendar-factory)
that would benefit from a more generic solution.
It's also very likely that we would want to just make gsd-datetime
activatable through external events so the process can go away entirely.
e0282e8...
by
Christian Hergert <email address hidden>
datetime: release weather tzdb information
We only need this once when starting up, so this tries to reduce the
memory footprint by dropping that memory after caching a copy of the
information we actually care about.
78a10d8...
by
Christian Hergert <email address hidden>
datetime: reduce runtime memory usage
Just over 1 MB of runtime data was keeping track of allocations for
TzLocation and containing GList elements. We can make much of that all go
away if we use intern'd strings and arrays to contain TzLocation data.
A much bigger amount of allocations are held by libgweather which is
storing rougly 8MB of Locations.xml data in memory. A follow up commit
will try to address that more directly.
3db025d...
by
Benjamin Berg <email address hidden>
ci: Update to adjust fdo template changes and switch to rawhide
The used template was changed. Also switch back to rawhide as it is
working again now (requiring a dependency update).