Thomas Haller a1e9284f47 gdataset: reorder epilogue code path in g_datalist_id_update_atomic()
The most common case is that the callback does not change the
data/destroy pointers. Reorder the "if" checks to favor those cases.

g_datalist_id_update_atomic() makes sense to track some data structure,
and atomically update it. But in that case, we usually update the values
inside the structure, and don't reset the pointer to the structure
itself. That means, if old data was present, then new_data is likley
unchanged.

With this change, we instead check whether the values are unchanged and
avoid resetting the (same) value. The idea is in the common case to
avoid writing the same value to memory to avoid false sharing or
invalidating CPU caches.
2025-02-25 17:40:51 +01:00
..
2023-11-28 13:52:05 +00:00
2023-11-02 16:30:23 +00:00
2023-11-02 16:30:23 +00:00
2022-05-23 09:19:45 -04:00
2023-10-11 17:38:31 +01:00
2024-09-06 10:49:31 -04:00
2024-09-18 01:48:36 +01:00
2023-11-15 11:09:39 +00:00
2023-11-15 11:09:39 +00:00
2024-04-01 11:01:06 +00:00
2023-02-09 13:36:51 +00:00
2018-01-04 22:19:30 +01:00
2024-04-01 11:01:06 +00:00
2025-02-10 10:26:42 +01:00
2022-07-25 22:30:22 +01:00
2021-09-21 09:41:29 +00:00
2025-02-10 10:26:42 +01:00
2021-11-18 14:32:09 +00:00
2023-10-11 17:38:31 +01:00
2023-10-11 17:38:31 +01:00
2024-10-09 11:26:20 +02:00
2024-07-09 20:16:20 +01:00
2023-11-28 13:52:05 +00:00
2023-10-11 17:38:31 +01:00
2023-11-28 13:52:05 +00:00
2025-02-10 10:26:42 +01:00
2023-10-23 10:25:31 +01:00
2024-11-15 13:59:52 -05:00
2024-12-03 08:06:17 +00:00
2024-12-03 08:06:17 +00:00
2024-12-03 08:06:17 +00:00
2024-12-03 08:06:17 +00:00
2023-10-11 17:38:31 +01:00
2024-10-09 11:26:20 +02:00
2023-11-28 13:52:05 +00:00
2024-10-21 19:31:56 +01:00
2023-11-28 13:52:05 +00:00
2023-11-28 13:52:05 +00:00
2024-10-09 11:26:20 +02:00
2025-02-19 20:52:01 +08:00
2024-04-01 11:01:06 +00:00
2024-10-09 11:26:20 +02:00