forked from enlightenment/efl
Carsten Haitzler
561f8eaa8f
so efreet mime was loading a bunch of mime type info files, parsing them on startup and allocating memory to store all this mime info - globs, mimetype strings and more. all a big waste of memory as its allocated on the heap per process where its the SAME data files loaded every time. so make an efreet mime cache file and a tool to create it from mime files. mmap this file with all the hashes/strings in it so all that data is mmaped once in memory and shared between all processes and it is only paged in on demand - as actually read/needed so if your process doesnt need to know about mime stuff.. it wont touch it anyway. this saves about 240-300k or so of memory in my tests. this has not covered the mime MAGIC files which still consume memory and are on the heap. this is more complex so it will take more time to come up with a nice file format for the data that is nicely mmaped etc. @optimize |
||
---|---|---|
.. | ||
.gitignore | ||
efreet_desktop_cache_create.c | ||
efreet_icon_cache_create.c | ||
efreet_mime_cache_create.c | ||
efreetd.c | ||
efreetd.h | ||
efreetd_cache.c | ||
efreetd_cache.h | ||
efreetd_ipc.c | ||
efreetd_ipc.h |