From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.9 required=5.0 tests=AWL,DNS_FROM_RFC_POST, DNS_FROM_SECURITYSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 74B45BBAF for ; Thu, 23 Oct 2008 18:46:41 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgYEAK9GAEnAXQImgWdsb2JhbACDJJAOPgEBFiKkTXyHQAEDAQODSw X-IronPort-AV: E=Sophos;i="4.33,471,1220220000"; d="scan'208";a="16411415" Received: from discorde.inria.fr ([192.93.2.38]) by mail2-smtp-roc.national.inria.fr with ESMTP; 23 Oct 2008 18:46:41 +0200 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m9NGkeno002583 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 23 Oct 2008 18:46:41 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aj8BAGNHAElA6aq/kWdsb2JhbACDJJAOPgEBAQEJCwoHEQOkWnyHQAEDAQODSw X-IronPort-AV: E=Sophos;i="4.33,471,1220220000"; d="scan'208";a="19097238" Received: from rn-out-0910.google.com ([64.233.170.191]) by mail1-smtp-roc.national.inria.fr with ESMTP; 23 Oct 2008 18:46:40 +0200 Received: by rn-out-0910.google.com with SMTP id m36so225298rnd.2 for ; Thu, 23 Oct 2008 09:46:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=gnRzZRZHqUEq//irVZzuf9z5nO98odujZ07NiOLXa3s=; b=hrRFiNrfBAj/cv4zJBXhY3gxZWG+5Q5I/8ABda62iu3NlGXSBxZHZfR+RQKSPNR/+T rtnobLw6eir2RY3is4XfztCJnVUWpS3Kb6b+9XCAH4OWIOuzBPc0U6shUBWtqpR5ryip gGPUSY56QYXf+uNeKPkQQV7MKeTuKlMgx0yOc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=LjVhoiFzTS1x1lqfwFcPCw3DVeTUuSrQDSgahCArSdIUOElW+iGE/QPQ9UNZY3Xi/x hP8bwd5BiGKeqItqVW2sN/co/V7zU5yaSUP9cr57WNJxKhtDsR1D+chPSJriXgIFD0Jc aw8QR+aTeSy2bDSLSObY4MKhpdtJ465tOuUn4= Received: by 10.142.128.6 with SMTP id a6mr446043wfd.10.1224780398945; Thu, 23 Oct 2008 09:46:38 -0700 (PDT) Received: by 10.143.35.6 with HTTP; Thu, 23 Oct 2008 09:46:38 -0700 (PDT) Message-ID: Date: Thu, 23 Oct 2008 12:46:38 -0400 From: "Markus Mottl" To: "Dario Teixeira" Subject: Re: [Caml-list] Re: Serialisation of PXP DTDs Cc: caml-list@inria.fr, "Sylvain Le Gall" In-Reply-To: <33055.70791.qm@web54606.mail.re2.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <33055.70791.qm@web54606.mail.re2.yahoo.com> X-Miltered: at discorde with ID 4900AA70.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; markus:01 mottl:01 markus:01 mottl:01 pxp:01 dtds:01 ocaml:01 23,:98 wrote:01 caml-list:01 marshal:01 marshal:01 cyclic:01 portability:02 portability:02 On Thu, Oct 23, 2008 at 11:34 AM, Dario Teixeira wrote: > Sexplib scores very good on ease of use, future-proofness, and > portability, and reasonably good on performance and human-readability. > My guess is that bin-prot has better performance but worse portability > and future-proofness, and nill human-readability. Marshal gets > top scores in performance and ease of use, but fails miserably in > future-proofness, human-readability, and portability. Bin-prot is settled in its design. We heavily rely on it here at Jane Street and store TBs of data in it so there is no way it's going to change. I would say it is future-proof. Portability could be improved, of course, e.g. to bigendian architectures, etc., but that's not hard to do. Performance is definitely competitive to marshal: writing is noticably faster, and reading only marginally slower. It also requires a little less storage space. Main problem here is actually that it doesn't support shared / cyclic datastructures. I don't think anybody would blame it for not being human-readable, because that's the nature of binary protocols ;-) Regards, Markus -- Markus Mottl http://www.ocaml.info markus.mottl@gmail.com