php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #69652 5.5.24 -> 5.5.25 binary is 13.6 % larger
Submitted: 2015-05-17 21:33 UTC Modified: 2020-03-31 13:46 UTC
Votes:1
Avg. Score:1.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: lonnie at abelbeck dot com Assigned: derick (profile)
Status: Closed Package: timezonedb (PECL)
PHP Version: 5.5.25 OS: *
Private report: No CVE-ID: None
 [2015-05-17 21:33 UTC] lonnie at abelbeck dot com
Description:
------------
Actually Information rather than a bug per se...

Upgrading from 5.5.24 -> 5.5.25

Binary is 13.6 % larger

Execution speed is 2.8 % slower

Cross-compiled and stripped using Buildroot:

5.5.24: 3183328 byte binary

5.5.25: 3617504 byte binary

I compared the config.log's, "nm -a" symbol tables, "php -m" modules, etc. and everything looks the same.

Does it make sense such a large change in binary size ?


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-05-18 02:21 UTC] lonnie at abelbeck dot com
Further investigation shows a huge difference in the "ext/date/lib/timezonedb.h" file

$ ls -l php-5.5.24/ext/date/lib/timezonedb.h
-rw-r--r--@ 1 lra  staff  1624462 Apr 15 05:43 php-5.5.24/ext/date/lib/timezonedb.h

$ ls -l php-5.5.25/ext/date/lib/timezonedb.h
-rw-r--r--@ 1 lra  staff  4221484 May 13 19:02 php-5.5.25/ext/date/lib/timezonedb.h

A 2.6 MB increase in the text contents, no doubt this is where the extra bulk is from.

Were these files created properly ?
 [2015-05-18 13:07 UTC] lonnie at abelbeck dot com
-Package: *General Issues +Package: timezonedb
 [2015-05-18 13:07 UTC] lonnie at abelbeck dot com
Changed from "General Issues" to "timezonedb"
 [2015-05-18 13:15 UTC] cmb@php.net
-Status: Open +Status: Verified -Package: timezonedb +Package: Date/time related -Assigned To: +Assigned To: derick
 [2015-05-18 13:15 UTC] cmb@php.net
I can confirm the huge size increase of timezonedb.h from version 2015.3 to 2015.4, and an overall increase of php5.dll by ~7% from PHP 5.5.24 to PHP 5.5.25.

There has been a recent commit[1] which mentions "file format changes".

[1] <https://github.com/php/php-src/commit/957aa220aa175a874f429f97701eede0f1ef14d3>
 [2015-05-18 13:15 UTC] cmb@php.net
-Operating System: Linux +Operating System: *
 [2015-05-18 13:16 UTC] cmb@php.net
-Package: Date/time related +Package: timezonedb
 [2015-05-19 04:36 UTC] lonnie at abelbeck dot com
As a workaround with 5.5.25, I extracted the "timezonedb.h" file from http://pecl.php.net/get/timezonedb-2015.3.tgz and coped it to "ext/date/lib/timezonedb.h" and built PHP from source.  This seems to work, does anyone here see a problem doing that ?

If Derick would be so kind to include a "timezonedbv1.h" file along with the new format "timezonedb.h" file for his timezonedb-...tgz releases older versions of PHP could extract the "timezonedbv1.h" file and update their "timezonedb.h" to have up to date tzdata without the version "2" bloat.

Possibly the remaining 5.5.xx releases should use such a version "1" only "timezonedb.h" file by default.

Just brainstorming...
 [2017-10-24 05:24 UTC] kalle@php.net
-Status: Verified +Status: Assigned
 [2020-03-31 13:46 UTC] cmb@php.net
-Status: Assigned +Status: Closed
 [2020-03-31 13:46 UTC] cmb@php.net
I don't know what the status is for any of the actively supported
PHP versions[1], but it unlikely will change back after this long
time.  If anybody feels strongly about this, please email to the
internals@ mailing list[2].

[1] <https://www.php.net/supported-versions.php>
[2] <https://www.php.net/mailing-lists.php#internals>
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Dec 03 00:01:33 2024 UTC