Windows snapshot builds switching to debug

php.internals

Christoph Becker

6 years ago
Hi all, the PHP for Windows team is considering to ship all PHP snapshot builds[1] as debug builds in the future (earliest at the end of March); currently these are release builds. The reason for this change is that debug builds obviously have better debugging support (including but not limited to WER[2]), and also execute assertions and enable the basic leak checking of Zend Memory Manager. Of course, the debug builds would be not as performant, and would be larger in size, but that does not appear to be an issue for snapshot builds. Thoughts? [1] <https://windows.php.net/snapshots/> [2] <https://docs.microsoft.com/en-us/windows/win32/wer/windows-error-reporting>
-- Christoph M. Becker

Anatoliy Belsky

6 years ago
Hi Christoph, I'd see not much value in switching to debug builds for the snapshots. Currently the snapshots are public and are built with PGO. This makes it easy for users to test any provided revision. Debug builds are better suitable for the runtime development, but they require a debug runtime, can't use PGO and are in most case unusable for users. IMO, if debug builds of snapshots are needed for something, they might be added, but release buids of snapshots should not be removed. It is more important to ensure release builds, for debug they're also suitable in 98% of cases as it always contains debug symbols. There are many other points that would speak against switching to debug builds only. For the developer needs, debug builds can always be done on demand. Regards Anatol On Thu, 2020-03-05 at 16:41 +0100, Christoph M. Becker wrote:

Christoph Becker

6 years ago
On 10.03.2020 at 13:59, Anatol Belski wrote:
> I'd see not much value in switching to debug builds for the snapshots. > Currently the snapshots are public and are built with PGO. This makes > it easy for users to test any provided revision. Debug builds are > better suitable for the runtime development, but they require a debug > runtime, can't use PGO and are in most case unusable for users. > > IMO, if debug builds of snapshots are needed for something, they might > be added, but release buids of snapshots should not be removed. It is > more important to ensure release builds, for debug they're also > suitable in 98% of cases as it always contains debug symbols. There are > many other points that would speak against switching to debug builds > only. For the developer needs, debug builds can always be done on > demand.
Thanks Anatol! These are very valid points indeed. I think we shall re-consider. It would be helpful to know who actually uses the snapshot builds, and for which purpose. So any feedback on that would be welcome as well. Thanks, Christoph