Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106332 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 55335 invoked from network); 30 Jul 2019 03:41:10 -0000 Received: from unknown (HELO mail-pf1-f180.google.com) (209.85.210.180) by pb1.pair.com with SMTP; 30 Jul 2019 03:41:10 -0000 Received: by mail-pf1-f180.google.com with SMTP id i189so28899264pfg.10 for ; Mon, 29 Jul 2019 18:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=NuZ5obnMSB/vUFUAS6SPJT47ufyKFPyfMEHW1L2jRjo=; b=o1H3+Q2almlwx7d5C82nzSSZt60X7COnktx/myGZtvTdz72XyvRr5U5pvppIu3M0j8 gMqf9nuuhx+LcbkAMpv8F9HJA/1lzwoBFpkPMu594ZWk2hqrnc149mUf0FGc1/9Sm3XN cFJaAznnzX4t2SH/ktL91UrFmqpRwHgoQbZfO17I7Wf4/sg1rbrSigosTnSp1Fhv8Zzt F8r1AEBqMP/mMHYQQsnprOlR1PbYfJSZw6HYdtM7U2fM2St7T4g/MsWchaFRwS1lLXSG Zxpf0DPW02bHdUAD3gppKN4wncuM5c2Fj+gZ0KOHcCIbAPMDBXoQEuzwbcvOrljQREq5 sWfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=NuZ5obnMSB/vUFUAS6SPJT47ufyKFPyfMEHW1L2jRjo=; b=KNhQIsQ94zYnVqi4xxH5ZmexqQrP7T5DEI5+wta5/amTtfr9dGeIDGJO3XYy6NXMwp T2CycWhoLT+1S+vUwsIH0wZMioG/7qLF4q9RNK3WGYK8BRtmFzu0/0rvXTits0DLSBU+ LcpSYVdtyQjIfy9E5pS49mNHst+OxPiMX0XnXIRHSIzJM4dVg3LpTqznWxlqIyTTvFWK Mxcz50PVUWHRSGGYQ8HxmEgmgu+UCoGf6Z7Y4PNyRMUn0EhnaotBTnPjGiDJ5R6BYTBN sz5pwV6M6sNCJyfvO3Nb+jre1fgP5mpiRT5GatVKYADceKV/Z65njxMFnixVR8Y0hvNh U9hA== X-Gm-Message-State: APjAAAWGMgNtA/tPMfKc+IiWC8wkrylZn934BWGZHYlpk1AIQWqsmOQ0 wgq1KwO9ws9qtq7k7feLh+DvfKvopA== X-Google-Smtp-Source: APXvYqxIdAlIgmXyySVPa218aN3tlUtHuRioLxI3RfQHOJ9PPdcD6dXyZ5k6GaGnzUTsqXvUnDrpPA== X-Received: by 2002:a17:90a:d593:: with SMTP id v19mr114499966pju.1.1564448755014; Mon, 29 Jul 2019 18:05:55 -0700 (PDT) Received: from Stas-Pro-2016.local (c-24-4-176-254.hsd1.ca.comcast.net. [24.4.176.254]) by smtp.gmail.com with ESMTPSA id k3sm47695518pgq.92.2019.07.29.18.05.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Jul 2019 18:05:54 -0700 (PDT) To: Nikita Popov Cc: PHP Internals List References: <9aba78c9-f04d-45b8-6c34-ad1c2472ef76@gmail.com> <75d04139-b944-f204-f988-959fa6f3e305@gmail.com> <8CD3B476-ABF9-4DB7-96D3-217064023854@gmail.com> <98616527-805f-3425-d292-1363be26730d@gmail.com> Openpgp: preference=signencrypt Autocrypt: addr=smalyshev@gmail.com; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Mon, 29 Jul 2019 18:05:53 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Explicit call-site send-by-ref syntax From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > I'm referring to the compiler and optimizer here. Especially in > namespaced code we pretty much always don't have a hard guarantee on > what function will get called. This means that we have to generate code > that dynamically dispatches between by-val passing and by-ref passing > (this is fairly cheap) and more importantly, has to dynamically dispatch > between read and write fetches across opcode chains (this is less OK, now I understand where this is coming from. While I appreciate the difficulty (though not sure how common is that - I mean, in about 99.9999% cases the natural guess about which function it is would be the global function, overriding global functions with namespaced ones is pretty rare), I am not sure introducing new language construct (or resurrecting old one which we decided to drop, at this point it's virtually the same) - yet more mandate its usage over the whole PHP codebase! - is the right way to solve an optimization problem in optimizer code. Optimization is nice, but it should not make things harder for the user. > I'm sorry Stas, but I will not be reading your mails in the future. I That's surely a great way to discuss making sweeping changes to the language. If you encounter disagreement - just stop reading mails and ignore whoever disagrees. -- Stas Malyshev smalyshev@gmail.com