X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f Date: Tue, 5 Jan 2016 14:16:12 -0500 Message-Id: <201601051916.u05JGCHG025251@envy.delorie.com> From: DJ Delorie To: geda-user AT delorie DOT com CC: geda-user AT delorie DOT com In-reply-to: (geda-user AT delorie DOT com) Subject: Re: [geda-user] A fileformat library References: <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> <20151222232230 DOT 12633 DOT qmail AT stuge DOT se> <0F6F1D0F-4F07-48EA-90FE-836EAD4E2354 AT noqsi DOT com> <0FCF3774-F93C-4BFF-BB61-636F75DCCACB AT noqsi DOT com> <20160105182120 DOT 3237F809D79B AT turkos DOT aspodata DOT se> <201601051829 DOT u05IT7TI021027 AT envy DOT delorie DOT com> Reply-To: geda-user AT delorie DOT com Actually, the big win was tokenizing strings - parsing variable-length data and allocating temporary buffers was a killer. The binary format included storing the size of arrays and strings before the data so that everything could be pre-allocated and read in chunks, and tokenizing strings really sped up reading the name portion of name=value pairs, since they were repeated so many times.