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 3ABAE7F736 for ; Wed, 16 Sep 2015 21:08:11 +0200 (CEST) IronPort-PHdr: 9a23:zOrkXhc/jIYcZRJYl5/sZCkGlGMj4u6mDksu8pMizoh2WeGdxc6/YR7h7PlgxGXEQZ/co6odzbGG7+a6CCdZusvJmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbvip9uJMk4R32f1SIgxBSv1hD2ZjtMRj4pmJ/R54TryiVwMRd5rw3h1L0mYhRf265T41pdi9yNNp6BprJYYAu3MVv9nFvkAUHxmbjh0t4XXskzIRA6Lo38dSXk+kxxSAgGD4gupcI32t37au+54xTXSF9f/S7wwEWCi4qNuVQOugj0OMTI92G7Smop2gb4N80HpnAB234OBONLdD/F5ZK6IIIsX Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=helmut.brandl@gmx.net; spf=Pass smtp.mailfrom=helmut.brandl@gmx.net; spf=None smtp.helo=postmaster@mout.gmx.net Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of helmut.brandl@gmx.net) identity=pra; client-ip=212.227.17.21; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="helmut.brandl@gmx.net"; x-sender="helmut.brandl@gmx.net"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of helmut.brandl@gmx.net designates 212.227.17.21 as permitted sender) identity=mailfrom; client-ip=212.227.17.21; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="helmut.brandl@gmx.net"; x-sender="helmut.brandl@gmx.net"; 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@mout.gmx.net) identity=helo; client-ip=212.227.17.21; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="helmut.brandl@gmx.net"; x-sender="postmaster@mout.gmx.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CBAQA9vflVnBUR49Rey1w8EAEBAQEBAQEBEAEBAQEBBg0JCSEugh2CMAQRQDYCBRYLAgsDAgECAVgIAQGIFAEXAqVOg3OLd48PAYVXgSKFUYooglKBQwWNb4dvdpUOkhE4ggGCSYp9AQEB X-IPAS-Result: A0CBAQA9vflVnBUR49Rey1w8EAEBAQEBAQEBEAEBAQEBBg0JCSEugh2CMAQRQDYCBRYLAgsDAgECAVgIAQGIFAEXAqVOg3OLd48PAYVXgSKFUYooglKBQwWNb4dvdpUOkhE4ggGCSYp9AQEB X-IronPort-AV: E=Sophos;i="5.17,541,1437429600"; d="scan'208";a="147514634" Received: from mout.gmx.net ([212.227.17.21]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Sep 2015 21:08:10 +0200 Received: from [192.168.1.122] ([189.250.213.143]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MMHaL-1ZWUEO0eUv-0083Zg for ; Wed, 16 Sep 2015 21:08:09 +0200 To: caml-list@inria.fr From: Helmut Brandl Message-ID: <55F9BE16.1020502@gmx.net> Date: Wed, 16 Sep 2015 14:08:06 -0500 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:9qu+MldrtgMRC1+KBKRdWuUX+2FI+NJy7epo9jP+wI0+mTJMIat xxHBcReLafhMTItOEzMcFmGdZpn4+t26qdaFgIUREFfsbqNuC/Kx3SxtGSp5Gj1N5qKsFu9 fZcicY3rIgEfEAFLtkLw+Zs9aqaaOctn76Qm1Dex4X1HiE7yPXR7q3/sOuENDIN1rgz3q+m abKx+rSYi2Rjno8vCoglg== X-UI-Out-Filterresults: notjunk:1;V01:K0:X0aE3neqO8s=:gcAA/wr268tfltUnM5aOy9 cT2Ewp2QxxRTViOEYT2Eurof0uv/zBNyqJ9qSMMiDWRshzyQpFWX8+pF92ZA7oo3hK7zbB1zA kfJQrr9szplGBwOF1t4rQ74onom792PIm1w/xzVCXsx3bYJGrar9TDs1blJJv+po8a8gCeLCi ma3jw6NYdiLhZikxJzV3BPzA3rF47HCPOr5eNiHXMLr90MpDFoA1SkIJslL9EERYuQh4TvAyg UL5EJ8S6gGCkS3cYhBDAklWWDu0Irh084Q7D8yXcjL4sRGyIqX34aLGFEavC5TLytl3y7VbTn uAzsO9SYqX91cddhEywuCTH39mbAmjt8+bvoFDWQ6ObWRJI2ouGdtpS+TNw11D7GWCowDWtK7 1jd5AO6xTKpgbM64wOhOqargWYHUA7Wz2ELATFD7/QYV5sAjUFhEZW3sjlYzWwD3DYDvBKd6/ S6PQWAsyoqlQUuSlASd5oBe/sX+OE8/eIJtQWUiEV5Zs8JUI1u45zFQ7WeUoU0PsBmEZ9TQBy UbpgZfgTm/ECHbQ+j9BhEFF3RQtjmfPgsdHDU1DD4HJZ5YcwvQE+bQkn7TVDq1TF2qN4JXIiZ cQqfm7kt6iFhAEFBj5ENRyGu84zhB3SnD9iEupfzA1ckhh+w7oLSse/0DHtMbD3s2tdNwOI8F gOUv7lp1tRpMR6bKETLQmd2vFg0fDycg33JnHs/VrUhVIJQx/fn6OgEn0negV4QdwEwiyRNO1 lGYj4p4YWKzDa4cbr6Xmcwssku7TTVqGwYMWhA== Subject: [Caml-list] Performance penalty of exception handling Hi all, I use exeption handling quite frequently even in inner loops. A common pattern: let some_function ... = ... if cannot_compute then raise Not_found else value try let value = some_function ... in ... with Not_found -> handle_exception I use this pattern even if the direct caller of "some_function" handles the exception. In many cases I could design "some_function" in a way that it returns an optional value and check the optional value in the caller. Is this significantly (at least 10%) faster? If not, I would stay with my present design. However I am pressed for performance in the inner loops (I am only interested in compilation to native). Is there any information available on the preformance penalty of exception handling? Any hints? Thanks in advance. Regards Helmut