From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 381DE7EE49 for ; Mon, 16 Sep 2013 17:26:30 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of yotambarnoy@gmail.com) identity=pra; client-ip=209.85.128.170; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of yotambarnoy@gmail.com designates 209.85.128.170 as permitted sender) identity=mailfrom; client-ip=209.85.128.170; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-ve0-f170.google.com) identity=helo; client-ip=209.85.128.170; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="postmaster@mail-ve0-f170.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgMCACEiN1LRVYCqlGdsb2JhbABahBHCDQgWDgEBAQEHCwsJEiqCHFABGx4DEggBB10BEQEFASKIAwEDD5khgwOMUYMHhAsKGScNZIgJAQUMlAwDl3uQCxgphGgg X-IPAS-Result: AgMCACEiN1LRVYCqlGdsb2JhbABahBHCDQgWDgEBAQEHCwsJEiqCHFABGx4DEggBB10BEQEFASKIAwEDD5khgwOMUYMHhAsKGScNZIgJAQUMlAwDl3uQCxgphGgg X-IronPort-AV: E=Sophos;i="4.90,916,1371074400"; d="scan'208";a="27029842" Received: from mail-ve0-f170.google.com ([209.85.128.170]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 16 Sep 2013 17:26:29 +0200 Received: by mail-ve0-f170.google.com with SMTP id c14so3246762vea.1 for ; Mon, 16 Sep 2013 08:26:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=KFeteuNDgY5KL9rTfcLKQzKxP/jkZs+M76hlbaIvwaU=; b=JmQSzmAjiUMJ89/gDox/TiWkDWtD/xn9MYrQn3lVc05I/vzZllvKQE0p7mpUugV1ta diKRsWaJZ1JADos0XA9+1XM4oKSMTPmBzLaMG1mcOKKl33aGwfS2eVSKPVBHOvZpcRmp Tmjh5NrNjoqp2nqKK7/OtmtnC3nUTUtzYLAO87EOvzaq1+wEIrZq60CzKRXLrrMLV8/S vKbTVjQGfHLwEYUhP5uaSmTAl146BN7f8+fd4tgwztPNUgX3DbqWwkjivcFXlaDhfm1b WOyFcZgUBmaO8E/XQMrjyZyoRhfuauTt732JQt1licsKsjclhfMlt5JNNwo56utAcXYP UTeg== X-Received: by 10.58.187.47 with SMTP id fp15mr2597252vec.22.1379345188289; Mon, 16 Sep 2013 08:26:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.160.70 with HTTP; Mon, 16 Sep 2013 08:26:02 -0700 (PDT) From: Yotam Barnoy Date: Mon, 16 Sep 2013 11:26:02 -0400 Message-ID: To: Ocaml Mailing List Content-Type: multipart/alternative; boundary=047d7b6d7ca4f8832c04e681d3ca Subject: [Caml-list] Expanding the Float Array tag --047d7b6d7ca4f8832c04e681d3ca Content-Type: text/plain; charset=ISO-8859-1 Having looked through some of the ocaml runtime's code, I have a question regarding the Double_array block tag. Why not use a single tag for all block content that doesn't contain pointers instead? This would allow optimization of all cases where no pointers are involved, including float tuples, records with ints, bools and floats etc. The only use-case I've seen so far for Double_array tags is for polymorphic comparison ie. we need the type information to parse doubles correctly. However, the only default comparison that's valid on an array of anything is an equality comparison, which is easily doable without type information. Therefore, I'm confused as to why this is necessary. Thanks in advance for any answers Yotam Barnoy --047d7b6d7ca4f8832c04e681d3ca Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Having looked through some of the ocaml runtime's= code, I have a question regarding the Double_array block tag. Why not use = a single tag for all block content that doesn't contain pointers instea= d? This would allow optimization of all cases where no pointers are involve= d, including float tuples, records with ints, bools and floats etc.

The only use-case I've seen so far for Double_array tags is for pol= ymorphic comparison ie. we need the type information to parse doubles corre= ctly. However, the only default comparison that's valid on an array of = anything is an equality comparison, which is easily doable without type inf= ormation. Therefore, I'm confused as to why this is necessary.

Thanks in advance for any answers
Yotam Barnoy
<= /div> --047d7b6d7ca4f8832c04e681d3ca--