summaryrefslogtreecommitdiff
path: root/src/bin/efreet/efreetd_cache.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-04-22 12:03:25 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-04-23 23:07:48 +0900
commite4d815dc48c660a336670ec3cc67e6becbdcacfc (patch)
tree7c9be7ba0a493b5fe40c6ea99167a0ecbe9a54f7 /src/bin/efreet/efreetd_cache.c
parent0e9cf93c3069f68d906a8b706fa1169ad1fd2073 (diff)
efreetd - reduce memory usage by using stringshare much more
lots of long paths for monitoring file paths for icons etc. are in memory for efreetd. this reduces that memory by sharing them much more. @optimization
Diffstat (limited to 'src/bin/efreet/efreetd_cache.c')
-rw-r--r--src/bin/efreet/efreetd_cache.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/bin/efreet/efreetd_cache.c b/src/bin/efreet/efreetd_cache.c
index fefc852dd0..9e8444fee4 100644
--- a/src/bin/efreet/efreetd_cache.c
+++ b/src/bin/efreet/efreetd_cache.c
@@ -89,7 +89,7 @@ subdir_cache_dir_free(Subdir_Cache_Dir *cd)
89static void * 89static void *
90subdir_cache_hash_add(void *hash, const char *key, void *data) 90subdir_cache_hash_add(void *hash, const char *key, void *data)
91{ 91{
92 if (!hash) hash = eina_hash_string_superfast_new(EINA_FREE_CB(subdir_cache_dir_free)); 92 if (!hash) hash = eina_hash_stringshared_new(EINA_FREE_CB(subdir_cache_dir_free));
93 if (!hash) return NULL; 93 if (!hash) return NULL;
94 eina_hash_add(hash, key, data); 94 eina_hash_add(hash, key, data);
95 return hash; 95 return hash;
@@ -140,7 +140,7 @@ subdir_cache_init(void)
140 140
141 // if we don't have a hash in the subdir cache - allocate it 141 // if we don't have a hash in the subdir cache - allocate it
142 if (!subdir_cache->dirs) 142 if (!subdir_cache->dirs)
143 subdir_cache->dirs = eina_hash_string_superfast_new(EINA_FREE_CB(subdir_cache_dir_free)); 143 subdir_cache->dirs = eina_hash_stringshared_new(EINA_FREE_CB(subdir_cache_dir_free));
144} 144}
145 145
146static void 146static void
@@ -303,7 +303,7 @@ icon_cache_update_cache_cb(void *data EINA_UNUSED)
303 if ((!icon_flush) && (!icon_exts)) return ECORE_CALLBACK_CANCEL; 303 if ((!icon_flush) && (!icon_exts)) return ECORE_CALLBACK_CANCEL;
304 304
305 if (icon_change_monitors) eina_hash_free(icon_change_monitors); 305 if (icon_change_monitors) eina_hash_free(icon_change_monitors);
306 icon_change_monitors = eina_hash_string_superfast_new 306 icon_change_monitors = eina_hash_stringshared_new
307 (EINA_FREE_CB(ecore_file_monitor_del)); 307 (EINA_FREE_CB(ecore_file_monitor_del));
308 icon_changes_listen(); 308 icon_changes_listen();
309 subdir_cache_save(); 309 subdir_cache_save();
@@ -360,7 +360,7 @@ desktop_cache_update_cache_cb(void *data EINA_UNUSED)
360 desktop_queue = EINA_FALSE; 360 desktop_queue = EINA_FALSE;
361 361
362 if (desktop_change_monitors) eina_hash_free(desktop_change_monitors); 362 if (desktop_change_monitors) eina_hash_free(desktop_change_monitors);
363 desktop_change_monitors = eina_hash_string_superfast_new 363 desktop_change_monitors = eina_hash_stringshared_new
364 (EINA_FREE_CB(ecore_file_monitor_del)); 364 (EINA_FREE_CB(ecore_file_monitor_del));
365 desktop_changes_listen(); 365 desktop_changes_listen();
366 subdir_cache_save(); 366 subdir_cache_save();
@@ -867,9 +867,9 @@ cache_init(void)
867 goto error; 867 goto error;
868 } 868 }
869 869
870 icon_change_monitors = eina_hash_string_superfast_new 870 icon_change_monitors = eina_hash_stringshared_new
871 (EINA_FREE_CB(ecore_file_monitor_del)); 871 (EINA_FREE_CB(ecore_file_monitor_del));
872 desktop_change_monitors = eina_hash_string_superfast_new 872 desktop_change_monitors = eina_hash_stringshared_new
873 (EINA_FREE_CB(ecore_file_monitor_del)); 873 (EINA_FREE_CB(ecore_file_monitor_del));
874 874
875 efreet_cache_update = 0; 875 efreet_cache_update = 0;