Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:68769 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25606 invoked from network); 30 Aug 2013 23:46:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Aug 2013 23:46:30 -0000 Authentication-Results: pb1.pair.com smtp.mail=delong.j@fb.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=delong.j@fb.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain fb.com designates 66.220.155.146 as permitted sender) X-PHP-List-Original-Sender: delong.j@fb.com X-Host-Fingerprint: 66.220.155.146 outmail012.ash2.facebook.com Received: from [66.220.155.146] ([66.220.155.146:64919] helo=mx-out.facebook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6A/E4-00443-5DE21225 for ; Fri, 30 Aug 2013 19:46:29 -0400 Received: from [10.4.159.29] ([10.4.159.29:48581] helo=facebook.com) by 10.51.204.23 (envelope-from ) (ecelerity 2.2.3.50 r(45166/45167)) with ESMTP id 7E/27-30644-2DE21225; Fri, 30 Aug 2013 16:46:27 -0700 Received: from devbig005.prn1.facebook.com (localhost.localdomain [127.0.0.1]) by devbig005.prn1.facebook.com (Postfix) with ESMTP id ABE292110144; Fri, 30 Aug 2013 16:46:26 -0700 (PDT) Received: (from jdelong@localhost) by devbig005.prn1.facebook.com (8.13.8/8.13.8/Submit) id r7UNkQ9H008082; Fri, 30 Aug 2013 16:46:26 -0700 X-Authentication-Warning: devbig005.prn1.facebook.com: jdelong set sender to delong.j@fb.com using -f Date: Fri, 30 Aug 2013 16:46:26 -0700 To: Stas Malyshev Cc: Leigh , Anthony Ferrara , "internals@lists.php.net" Message-ID: <20130830234626.GA2334@fb.com> References: <20130830181124.GA27417@fb.com> <52211AFB.1090005@sugarcrm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <52211AFB.1090005@sugarcrm.com> User-Agent: Mutt/1.4.2.2i Subject: Re: [PHP-DEV] Re: [DRAFT] [RFC] Function autoloading From: delong.j@fb.com (Jordan DeLong) On Fri, Aug 30, 2013 at 03:21:47PM -0700, Stas Malyshev wrote: > Hi! > > > We got a performance win from exactly this at Facebook. We have some > > extensions in HHVM to autoload that allowed us to remove almost all > > our *_once calls. > > But autoloading does not remove require - you still have to load the > files. Only thing that can be removed is a non-loading require. Is it > that frequent that it had significant performance impact (given that > with opcode caching non-loading require is pretty much a couple of hash > lookups)? For us it saved unnecessary loading requires due to transitive module dependencies, as well. I'd suspect it is unlikely to matter in nearly the same way on smaller codebases, though. -Jordan