Dnia =C5=9Broda 07 maj 2003 06:28 pm, Keith Packard napisa=C5=82: > Around 11 o'clock on May 7, Krzysztof Dabrowski wrote: > > FcNameParse who is responsible for 22.84% of total execution time.. > > I'm interested in getting a replacement file structure for the current > fonts.cache-1 files; those are now text files and parsing that is just too > slow. > > Because the files are versioned, we really can completely redesign the > format. I'm thinking about something more radical: I thought about serialising this struct to disk: struct _FcConfig { FcStrSet *configDirs; /* directories to scan for fonts */ FcChar8 *cache; /* name of per-user cache file */ FcBlanks *blanks; FcStrSet *fontDirs; FcStrSet *configFiles; /* config files loaded */ FcSubst *substPattern; /* substitutions for patterns */ FcSubst *substFont; /* substitutions for fonts */ int maxObjects; /* maximum number of tests in all subst= s =20 FcFontSet *fonts[FcSetApplication + 1]; time_t rescanTime; /* last time information was scanned */ int rescanInterval; /* interval between scans */ }; I'm more into Java programming these days and my C is a little rusty, so th= e=20 question is: are there any automatic way to serialise a struct in C (or may= be=20 a helper library exists)? If not then it should still be possible to dump i= t=20 wholesale somehow. And since font configuration rarely changes, then it could be loaded only o= ne,=20 then saved to disk for other applications to use and have a reasonable TTL = (a=20 day/week/whatever). What do you think about it? If you could suggest me a right way of serialis= ing=20 it to disk then i could even try to program it in my spare time if i can=20 manage to find any. Kris