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 90FE37FA5F for ; Thu, 19 Jan 2017 12:39:48 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gabriel.scherer@gmail.com; spf=Pass smtp.mailfrom=gabriel.scherer@gmail.com; spf=None smtp.helo=postmaster@mail-yb0-f182.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.213.182; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.213.182 as permitted sender) identity=mailfrom; client-ip=209.85.213.182; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@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-yb0-f182.google.com) identity=helo; client-ip=209.85.213.182; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-yb0-f182.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AramgmhMumdhUZRHS36Ml6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0I/34rarrMEGX3/hxlliBBdydsKMYzbaP+Pq7EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6ybL9oIxi6sArdutcYjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVQTlgz?= =?us-ascii?q?kbOTEn7G7Xi9RwjKNFrxKnuxx/2JPfbIWMOPZjYq/RYdYWSGxGUchMSixBGZu8?= =?us-ascii?q?YJUTAOodM+hYqIz9qEEPrRu4GAKgAOzixztNinLwwKY00fkuERve0QMiEdIAsH?= =?us-ascii?q?raotboOqkMTe+7w7LFzSnab/5MxTvx9JTEfxInrPqRXbxwa83RyUw3Gg3ElFqf?= =?us-ascii?q?spblPzKL2eQJrmOV8vZvVeKxhG49tQ5xuCWky8AjiobTnY0V0FHE+jt9wIovPt?= =?us-ascii?q?23VE57bsC+EJROrSGXLIR2QsY4TGFpvCY20KEJuZm+fCUTzpks2hDRa/uCc4eS?= =?us-ascii?q?4xLjUv6cITZ+hHJ/ebKwnQy+8Ua6yuHkVsi7ylZKri1CktXWqn8N0BnT586aQf?= =?us-ascii?q?V+5keswSiD2xzX5+1eIk05lbDXJ4A8zrM+jJYfrEfOEjHwlU7rlqGZbF8k9fKt?= =?us-ascii?q?6+n/YrXpuJucN4hshwH7KKsum8i/Df04MwcVQ2SX4Oq82KDg8EHnWrlKgfo2kq?= =?us-ascii?q?7WsJDeO8sXvLK2AwhQ0oo76ha/CSmp0MgAkHUZMF5IfAiLgovpNl3UPvz0EPmy?= =?us-ascii?q?j06xnDpo2fzKJrjhDY/MLnjHnrfhZ7F960tExQo8199Q/IhUCrAfL/L3QEPxr8?= =?us-ascii?q?DXDh8nPAyu3ennEs5w1owbWW2VA6+ZNLnevkOP5uIqO+WMfpMauC7hK/g54P7j?= =?us-ascii?q?lWM2lkUYfamtxJcXbHG4Hu96I0iCenrtgtIBEX8QsQYkTezqjkeCUT9JaHqoUa?= =?us-ascii?q?I8/GJzNIXzK4bHXciHjbeC0T3zSptXYnsAAF2HEnryX4+FXO4RYSSOZNJnk3kE?= =?us-ascii?q?WLmtRosr2Auh8gP3nelJNO3RrwIRv4ji2dw93ObTmAs/73QgAM2XyWCASydvlW?= =?us-ascii?q?MFXTIs9K96qE15jFyE1P4r0LRjCdVP6qYRAU8BPpnGwrk/Von/?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0C9AQALpIBYhrbVVdFeGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBFAEBAQEBAQEBAQEBBwEBAQEBgxQBAQEBAX+BCQeDBEaKCJIDgja?= =?us-ascii?q?GPow4ggwqhXQCAgKBcQc/GAEBAQEBAQEBAQEBEgEBAQgLCwodMIIzG4IbAQEBA?= =?us-ascii?q?wEMFwQZARsQAggDAQMBCwYDAgsNAgIJHQICIgERAQUBChIGExKIVQEDEAgOkgO?= =?us-ascii?q?RDT+MAoFrGAUBHIMJBYNbChknAwpVgicBAQEBBgEBAQEBGwIGEnmFQINlgQmES?= =?us-ascii?q?YMGgl4FhygMlBCBe4RmiwSCSY4lkSoUHoEUH4FPEh1PFIQYIIFsPTUBiWMBAQE?= X-IPAS-Result: =?us-ascii?q?A0C9AQALpIBYhrbVVdFeGQEBAQEBAQEBAQEBBwEBAQEBFAE?= =?us-ascii?q?BAQEBAQEBAQEBBwEBAQEBgxQBAQEBAX+BCQeDBEaKCJIDgjaGPow4ggwqhXQCA?= =?us-ascii?q?gKBcQc/GAEBAQEBAQEBAQEBEgEBAQgLCwodMIIzG4IbAQEBAwEMFwQZARsQAgg?= =?us-ascii?q?DAQMBCwYDAgsNAgIJHQICIgERAQUBChIGExKIVQEDEAgOkgORDT+MAoFrGAUBH?= =?us-ascii?q?IMJBYNbChknAwpVgicBAQEBBgEBAQEBGwIGEnmFQINlgQmESYMGgl4FhygMlBC?= =?us-ascii?q?Be4RmiwSCSY4lkSoUHoEUH4FPEh1PFIQYIIFsPTUBiWMBAQE?= X-IronPort-AV: E=Sophos;i="5.33,253,1477954800"; d="scan'208";a="209934185" Received: from mail-yb0-f182.google.com ([209.85.213.182]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 19 Jan 2017 12:39:45 +0100 Received: by mail-yb0-f182.google.com with SMTP id l23so14247563ybj.2 for ; Thu, 19 Jan 2017 03:39:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=MbGC2om+dYcjuFBVO0NKDLDaeEUjcshaOPiU8ABoXV4=; b=U1phdDkzLYXzOi7XA4JHR05nKgxnkBaGs3i17/EanmJk8/dmiInR+aJ3cRdOzTKNuc bNKbN9FOwIpUDeZg/VCjy5Gik486/WtxBcjVJJ1kLYqK38hBc0U/gJKgj4YF5k/kqHVB BGoKrnZkz3P0oHRzoDP0bVwLaYNSbCE5Vb1xpYuEs0FLq8mD7TBOsjh6pwIGtyKxJZc3 /1XJx7UB1wqqFglZToTC1siReYtIi8S15QY0LIGKwWb3RvShzUmXYEYMJDrVhMtNdbmU Mye9fUorWE7Wt0NQYgDwmUferCX1IXjnSMT7lk/zV/f5nA1pqCN3FHpzgkYZWdaQHXHP KnpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=MbGC2om+dYcjuFBVO0NKDLDaeEUjcshaOPiU8ABoXV4=; b=f9voIJGAzc7V9wlcFD+htewtgbITuigRJlpzHSF4vYHCyyUVekjt45Bk5OiBYepnOO YLJoNRl/BCVXoAt+8wyV+Y9TeJ53imbl7WnXZrn1LVrmQtjrCRLE3ItAwKHtJ+NLy8X1 SY91Vyfv/bYz5OtoxlXJA8AL+vO5mDbI0xpUg6dGHhvZuJZCM2YWj0i3JEw9Zy0l/fUU k5yi8o3oQQTAvdZ9AwXHnOmgfoOCJMr5f1HkkQq7FaxRR3JYb6wdetbTz9Ba466NWeBL zYcFyluSONmBSvQs7evjzn9XEvVBlZcf0CQ2N/5mjBIww0eRRZHhejxhslvab4Ci3ECn Xtwg== X-Gm-Message-State: AIkVDXLBKWtMnyk68BBHIo334Msue2MuQ5dbYiPCrqLbdQ1hCaATcVWYsaT5yWrcCcxC3p7VCwLQ8neOoAwClg== X-Received: by 10.200.43.201 with SMTP id n9mr7554867qtn.243.1484825984128; Thu, 19 Jan 2017 03:39:44 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.177.154 with HTTP; Thu, 19 Jan 2017 03:39:03 -0800 (PST) In-Reply-To: <64e5fca1-a5da-9ff5-ad90-b23343d17360@bioquant.uni-heidelberg.de> References: <2B595CCC-1121-4C8C-8F5F-A235D3AB19BB@yahoo.com> <64e5fca1-a5da-9ff5-ad90-b23343d17360@bioquant.uni-heidelberg.de> From: Gabriel Scherer Date: Thu, 19 Jan 2017 12:39:03 +0100 Message-ID: To: Nils Becker Cc: "caml-list@inria.fr" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] Ocaml optimizer pitfalls & work-arounds > the min, max issues can be avoided without much trouble by using > specialized comparison, as provided in standard library extensions. Note that min/max are already optimized from generic to specialized when the type information is known at type-checking time. (It used to be the case that only fully applied calls were optimized, this was improved by Fr=C3=A9d=C3=A9ric Bour to extend to non-applied primitives in = 4.03 (eg. "let eq : int -> int -> _ =3D (=3D)"). That does not work when those functions are used inside a functor body at an abstract type (which is when we want inlining and specialization to interact better), but there neither do Float.equal or Int.compare. On Thu, Jan 19, 2017 at 12:20 PM, Nils Becker wrote: > a while ago there was a proposal for deprecating the specialized > treatment of float arrays, which was not accepted iirc. it seems that > the slowdown of all Array.get calls is quite a high price to pay. what > do we gain from the float array specialization? (honest question - i > don't have a good understanding) > > the min, max issues can be avoided without much trouble by using > specialized comparison, as provided in standard library extensions. > > n. > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs