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 C0052801CD for ; Sun, 27 Aug 2017 07:23:51 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=alex.only.d@gmail.com; spf=Pass smtp.mailfrom=alex.only.d@gmail.com; spf=None smtp.helo=postmaster@mail-it0-f46.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of alex.only.d@gmail.com) identity=pra; client-ip=209.85.214.46; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="alex.only.d@gmail.com"; x-sender="alex.only.d@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of alex.only.d@gmail.com designates 209.85.214.46 as permitted sender) identity=mailfrom; client-ip=209.85.214.46; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="alex.only.d@gmail.com"; x-sender="alex.only.d@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-it0-f46.google.com) identity=helo; client-ip=209.85.214.46; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="alex.only.d@gmail.com"; x-sender="postmaster@mail-it0-f46.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AT1Xg0BAhaPmIUhX4oJ1LUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSP38pcbcNUDSrc9gkEXOFd2Crakb26yL6+jJYi8p39WoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6i760TlHERz6MUJo?= =?us-ascii?q?PenvAcaGhM2y06W2+obPSwROnju0J71oekaYtwLU4+ASjJtvO+4cxRzTpWUAL+?= =?us-ascii?q?1SyHMuIlSXjlDwzsi19Z9ntS9XvqRypIZ7TazmcvFgHvRjBzM8PjVt6Q=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BZEwA7VqJZhi7WVdFchC8BMwuBFQeDc?= =?us-ascii?q?Jl4ATouCgkGTliJLY8PDhqIfQdDFAEBAQEBAQEBAQEBEgEBAQgLCwgoL4IzIoJ?= =?us-ascii?q?tHQEbHgMSEA8CJgIkAREBBQEWDIorAQMIDaBzg0VAjAuCBQUBHIMJBYNVChknD?= =?us-ascii?q?VeDbgIGEnuCHYICNFONWoJhBYoIiCeONYdWjHCCbIEUjmiUdBUfgRU2gS4yISR?= =?us-ascii?q?4hH8PDIFuOTaLIAEBAQ?= X-IPAS-Result: =?us-ascii?q?A0BZEwA7VqJZhi7WVdFchC8BMwuBFQeDcJl4ATouCgkGTli?= =?us-ascii?q?JLY8PDhqIfQdDFAEBAQEBAQEBAQEBEgEBAQgLCwgoL4IzIoJtHQEbHgMSEA8CJ?= =?us-ascii?q?gIkAREBBQEWDIorAQMIDaBzg0VAjAuCBQUBHIMJBYNVChknDVeDbgIGEnuCHYI?= =?us-ascii?q?CNFONWoJhBYoIiCeONYdWjHCCbIEUjmiUdBUfgRU2gS4yISR4hH8PDIFuOTaLI?= =?us-ascii?q?AEBAQ?= X-IronPort-AV: E=Sophos;i="5.41,434,1498514400"; d="scan'208";a="235424262" Received: from mail-it0-f46.google.com ([209.85.214.46]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 27 Aug 2017 07:23:50 +0200 Received: by mail-it0-f46.google.com with SMTP id a141so4327214itd.0 for ; Sat, 26 Aug 2017 22:23:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=0+nbMnDjb+6dy/VZRLM8DNWvptnt+51kJKhYmG6FX1c=; b=LYaTvWN3R4UJopOLIXBzS0+lh6dW1DVVNXUm2g1rRrSicxUNU3SxHlvTomGaZJvWJU ykPCktC+piIdCl3tAF/wUzY7HLdKU24E3xQxf3obcJR3r4iLPRKHEvr+rcy7TgzTazMc OyGe0cFsyy5udKUywg72ew7S945afvx43TV7KEknKTAePO+anjLLuzUefehBhuIPnBZF EopQkoTIzFj12cUTqlXR/1MXQ4Dh24zLcRYFsHJUlngdzYA16X6AxNShAObR1zoN2TF+ gftV6j6+TTyIWpusVd3vMHYyxpaN4K1HsD+0YlhYJumXGzquQylfp67/uygJ8gY2z3aJ AdQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0+nbMnDjb+6dy/VZRLM8DNWvptnt+51kJKhYmG6FX1c=; b=EdiTpnkjMY2XG624vIALefkHOdh0oHAwBT69YKmERFgqICPhWqwoF/NLj61rD7O57D Srtn6aVuzHVGmAfcmiJnGR8fQ9Ih9RYDzI053VhxLprUlAjJjQayYN1q7Z+FgHsf/xyn vizr8v4IDHt5VO0Oy7RdcMYn/tZfXxVmQY2RBpTXWubZ21h1iqsQ/qwcI3hpFT/dLOyW Do4zbW5X+CqXeRrxr2ECq95sPoGmzJLXgBvC18LJfM3ZG5U1g14sz2/HKcWfnX7Afs3j Dk4dYPv3z8LByK81IJuxwbtxPApXcDrHbDJcmj800DPaAf1y6334PX+pKJOP53t9VKEM 59nw== X-Gm-Message-State: AHYfb5gZ9/v1IQnPgSVp9GV/pmAdI8tOigOXpCuZ7YIsQDD15IJ1RIg/ xzhmbLKRryjsbuej9oG7bco18/PVJHkk X-Received: by 10.36.46.137 with SMTP id i131mr26623ita.49.1503811429159; Sat, 26 Aug 2017 22:23:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.2.77.84 with HTTP; Sat, 26 Aug 2017 22:23:48 -0700 (PDT) From: Alexey Egorov Date: Sun, 27 Aug 2017 10:23:48 +0500 Message-ID: To: caml users Content-Type: text/plain; charset="UTF-8" Subject: [Caml-list] flambda optimizations depends on unrelated things Hello, I'm trying hard to make efficient pure functional streams implementation - and while playing with flambda, I'm discovered that optimizations is VERY fragile and sometimes depends on completely unrelated things. Sometimes flambda goes mad if you change filename or just add some empty lines to your source. Here is example, where renaming source file increases code size by a factor of 2 because of some unfortunate inliner decisions: $ ls fragile.ml $ cp fragile.ml fragile2.ml $ md5sum * 6a13d560736c81b3e5b5dfe7f13c2f56 fragile2.ml 6a13d560736c81b3e5b5dfe7f13c2f56 fragile.ml $ ocamlopt -version 4.05.0 $ ocamlopt -O3 fragile.ml -dflambda 2>&1 | wc -l 1774 $ ocamlopt -O3 fragile2.ml -dflambda 2>&1 | wc -l 3835 Here is the code - https://pastebin.com/Y1DDidyN