X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=Zi1CFTJMdzf10m/vH8GGaZYPJ+jPunZ3eBgadvR9AO8=; b=SqZEBguLFfPpoKnFQhg6q/LNxuDP9/MsUbTdP1OHH2tcnskNUJBZstYrAUTGxjZB2R DIjFlWRAi7WyDoHqtfeat7dqUu637igSOQmDdUo3/3FmKDNKdP9dMOetPKiHBnyiILhj pV4q+JTDzP7KozPTEJ6XUVro29ggPrXz81TZ+aDXv4sFtAP1neWA3DX5tQ77Ml5lGo9n 14aWGVN0otrCK4lHkPb0t7BI172zROh8QqQKwAjvm9L+6JNwiK15EHVXqr1C5BcYL9ab JRvX9QisJ6qc1UHoWZ41dyeaBmEBqUverVyoQXMvECTLaWEZ3G6JGdllfhNdfpPYT6WY 4kSg== MIME-Version: 1.0 X-Received: by 10.194.173.233 with SMTP id bn9mr103911871wjc.1.1452036503571; Tue, 05 Jan 2016 15:28:23 -0800 (PST) In-Reply-To: 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> Date: Tue, 5 Jan 2016 14:28:23 -0900 Message-ID: Subject: Re: [geda-user] A fileformat library From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=089e0122f088ff170a05289e975e Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --089e0122f088ff170a05289e975e Content-Type: text/plain; charset=UTF-8 [snip] > Hypothetically, I think the best compromise is a format which has a > lossless translation between text and binary representations. > The last time we discussed this, there was some semblance of a consensus that we could use YAML or JSON as a text format, with possible translation to sqlite for a binary format. > In reality, the speed issue is for the most part irrelevant to us. We > simply don't have the quantity of floating point numerical data in our > files to cause enough slow down to warrant > > For processing 3D step files - two approaches... 1. Don't perform the > conversion unless the number is needed (shunt strings in and out of the > system). 2. Test out the idea of hashing and caching conversions.... I've a > suspicion that many coordinates and vectors get repeated a lot.... (The > Autodesk dwg format special cases 0.0 and 1.0 with a very short bit pattern > (3 bits I recall), which gives them enough reduction in file size to make > it worth while for them. > > (Btw... Anyone else react with a "wtf" to realise that the DWG binary > format operates on a literal BIT stream? - ie. Not even byte alignment!) > Fun. Britton --089e0122f088ff170a05289e975e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

[snip]

Hypothetically, I t= hink the best compromise is a format which has a lossless translation betwe= en text and binary representations.

The las= t time we discussed this, there was some semblance of a consensus that we c= ould use YAML or JSON as a text format, with possible translation to sqlite= for a binary format.

In reality, the speed issue is for the most part irrelevant = to us. We simply don't have the quantity of floating point numerical da= ta in our files to cause enough slow down to warrant

For processing 3D step files - two approaches... 1. Don'= t perform the conversion unless the number is needed (shunt strings in and = out of the system). 2. Test out the idea of hashing and caching conversions= .... I've a suspicion that many coordinates and vectors get repeated a = lot.... (The Autodesk dwg format special cases 0.0 and 1.0 with a very shor= t bit pattern (3 bits I recall), which gives them enough reduction in file = size to make it worth while for them.

(Btw... Anyone else react with a "wtf" to realise = that the DWG binary format operates on a literal BIT stream? - ie. Not even= byte alignment!)

Fun.
=C2=A0
Britton
--089e0122f088ff170a05289e975e--