Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:107736 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 60015 invoked from network); 30 Oct 2019 23:17:37 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 30 Oct 2019 23:17:37 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 2B2C32C0543 for ; Wed, 30 Oct 2019 14:05:36 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp3.php.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: X-Spam-Virus: No Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp3.php.net (Postfix) with ESMTPS for ; Wed, 30 Oct 2019 14:05:35 -0700 (PDT) Received: by mail-wm1-x331.google.com with SMTP id c22so3720207wmd.1 for ; Wed, 30 Oct 2019 14:05:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=R2dWfuW60+RedxqRwFOn5IIUJRdunRObu0JmpbjS8oY=; b=jtWtFK6wOScgUY/dv95dLVhVX+FO0L2JkpoXu6leLIYUZQXfxXMtXALK65S/X7G89o tgrYdyftwEfL9j69TOIH3tW2Lb/+bw1BNJlieetjOHcELGuhPGVzpz/4If1BlYTaIMo0 zQ6uyLHIfvIr2gXBnkEiNUXEl1lmcF8ZsWZmj+7ttaKPh6XV8ovTArMRNYQa3Xo0fSSb E+MAzoyj/C363cA3wO68pipctueR6UYKZhN7VDnViHDc8EPr1ksRirtAZSOPVUEWRtUt oJQfxv0kvvSWXZ/wyJwbeb1s4c0lJ2KuA96fW4NhmIsOHDS1XLqa5h+rgsIpxzlH+hqv tm1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=R2dWfuW60+RedxqRwFOn5IIUJRdunRObu0JmpbjS8oY=; b=IgCsUJJmm5ldow7iUPXrH2WP/9y8Pl9CkO6dJGszU5PD0o5tNID30DwK3HjwHBJ6iB 7q1q6jfmAexUyrRoQUDq0EKuDCLzeyE6Uc27cvfRsvAfnEk4z9O1+Gw99vX6Aea+Pz5h AbhBPbrlekUujT33I3oj21kGcQVVTwsuCF6ZN0BiITDX95M07a7cSg6L+UdRiw16uMVX ONgx1+J2Zx1ZSKVHLv/K9+Twr8c0uTbZtEcvcKZESON2brBE2/rJzpx+k+L/US982Zqm r8JRAiqvOKj2MvJ6rCWlFgcneTHlDRxkoECjdPBRMvR/V7FPgo8BOQW/E5XUWRGOsM2y XPiA== X-Gm-Message-State: APjAAAVWH5TDPPSk0wL8P5igax0YdjJmU28juDIm9SLg3JX+7YHOOqFE kfXY+IfIONSdMtyJZzpqTOur3XGt1SM= X-Google-Smtp-Source: APXvYqyy/QN3ZOrX3Tx84ZmOyHBxCyBLf32pTuBJsevQy9mg1TZS1jB0vL3oER7c7sFO6jQ0A+WBow== X-Received: by 2002:a7b:c04c:: with SMTP id u12mr1319712wmc.134.1572469534227; Wed, 30 Oct 2019 14:05:34 -0700 (PDT) Received: from [192.168.0.16] (cpc84253-brig22-2-0-cust114.3-3.cable.virginm.net. [81.108.141.115]) by smtp.googlemail.com with ESMTPSA id s5sm1284052wmj.37.2019.10.30.14.05.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 30 Oct 2019 14:05:33 -0700 (PDT) To: internals@lists.php.net References: <9d3f9895-5ab6-1d75-4eb2-0ba93f13a8fe@gmail.com> <393e5c3c-9902-f6ed-bbb1-5ba48294168c@xs4all.nl> Message-ID: <73f639fa-0161-3ac2-ff7a-c249c83a2596@gmail.com> Date: Wed, 30 Oct 2019 21:05:29 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <393e5c3c-9902-f6ed-bbb1-5ba48294168c@xs4all.nl> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB X-Envelope-From: Subject: Re: [PHP-DEV] Optional pre-compiler for PHP8? From: rowan.collins@gmail.com (Rowan Tommins) Hi Dik, On 29/10/2019 21:44, Dik Takken wrote: > Opcache already performs type inference. [...] > Here is an interesting read on the subject: > > https://depositonce.tu-berlin.de/bitstream/11303/7919/3/popov_etal_2017.pdf Thanks for the link, and the insight into how much OpCache can already do. I guess preloading gets us pretty close to the tool I was imagining - OpCache could make assumptions that cross file boundaries, within the preloaded set, and could spend longer optimizing during the preloading phase than might be expected on a simple cache miss. I think it will be interesting to see how tools adopt that feature, and whether eventually we'll see autoloader functions as just a fallback mechanism, with most packages being enumerated in advance as large preloaded blocks. Regards, -- Rowan Tommins (né Collins) [IMSoP]