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: 2017-10-24 05:24 UTC
From: lonnie at abelbeck dot com Assigned: derick (profile)
Status: Assigned Package: timezonedb (PECL)
PHP Version: 5.5.25 OS: *
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [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

Add a Patch

Pull Requests

Add a Pull Request

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
 
PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Sun Nov 19 01:31:42 2017 UTC