[Issue 7921] New: Two order of magnitude file size increase (up to 111 MiB for GtkD) mostly from zeroes

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Apr 16 05:24:41 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7921

           Summary: Two order of magnitude file size increase (up to 111
                    MiB for GtkD) mostly from zeroes
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: verylonglogin.reg at gmail.com


--- Comment #0 from Denis <verylonglogin.reg at gmail.com> 2012-04-16 16:25:32 MSD ---
An example:

GtkD is built using singe (gtk-one-obj.lib) or separate (one per source 
file) object files (gtk-sep-obj.lib).

Than main.d that imports gtk.Main is built using those libraries.

Than zeroCount utils is built and launched over resulting files:
--------------------------------------------------
   Zero bytes|     %|    Non-zero| Total bytes|        File
      3628311| 21.56|    13202153|    16830464|gtk-one-obj.lib
      1953124| 15.98|    10272924|    12226048|gtk-sep-obj.lib
    127968798| 99.00|     1298430|   129267228|main-one-obj.exe
       743821| 37.51|     1239183|     1983004|main-sep-obj.exe
--------------------------------------------------

These zero byte counts are similar for dmd 2.054-2.057.

So one has to use very slow per-file build to produce a good (not 100 
MiB) executable.
No matter what *.exe is launched, its process allocates ~20 MiB of RAM 
(loaded Gtk dll-s).

See also:
"Building GtkD app on Win32 results in 111 MiB file mostly from zeroes" thread:
http://www.digitalmars.com/d/archives/digitalmars/D/Building_GtkD_app_on_Win32_results_in_111_MiB_file_mostly_from_zeroes_141758.html

A post in "Program size, linking matter, and static this()" thread:
http://www.digitalmars.com/d/archives/digitalmars/D/Program_size_linking_matter_and_static_this_152387.html#N152875

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list