View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001532 | Slicer4 | Core: Packaging | public | 2011-11-09 14:44 | 2012-02-21 10:32 |
Reporter | kikinis | Assigned To | finetjul | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | Slicer 4.0.0 | ||||
Target Version | Slicer 4.0.1 | Fixed in Version | Slicer 4.0.1 | ||
Summary | 0001532: Reduce package size | ||||
Description | Packages on Mac and Linux are heavy compared to the Windows packages. | ||||
Additional Information | From Ron: Is there a meaningful way to reduce the size of the download? From Julien: I suspect the inclusion of EMSegment + BrainstTools inside the package (instead of being extensions (our goal)) is partly responsible for the increase. Now, we can probably configure the c++ compiler to optimize the size of the libraries, but I'm not sure how much space we will get back. My preference would be to cleanup the linux package first. From Jc: "It reduces the size of your DSO by 5-20%. ELF's exported symbol table format is quite a space hog, giving the complete mangled symbol name which with heavy template usage can average around 1000 bytes. C++ templates spew out a huge amount of symbols and a typical C++ library can easily surpass 30,000 symbols which is around 5-6Mb! Therefore if you cut out the 60-80% of unnecessary symbols, your DSO can be megabytes smaller! " | ||||
Tags | No tags attached. | ||||
On Linux: doing nm -D libMRML[Core].so on both, and we see that there are actually more symbols exported by libMRML.so (Slicer3) than libMRMLCore.so (Slicer4). On my machine (Ubuntu 10.04): So that means the linux package on the factory is building in Debug mode. |
|
We should probably do the following in our driver script: http://cmake.3232098.n2.nabble.com/Set-build-config-in-a-ctest-script-td6086032.html I just setup the linux night dashboard, let's see if that works tomorrow. |
|
From CMake source code .. // Build configuration is determined by: CONFIGURATION argument, |
|
Mac and Linux packages were built in Debug mode: On ubuntu: |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2011-11-09 14:44 | finetjul | New Issue | |
2011-11-09 14:44 | finetjul | Status | new => assigned |
2011-11-09 14:44 | finetjul | Assigned To | => jcfr |
2011-12-20 07:19 | finetjul | Note Added: 0003469 | |
2011-12-20 07:27 | finetjul | Note Edited: 0003469 | |
2011-12-20 07:37 | finetjul | Note Edited: 0003469 | |
2011-12-20 08:12 | finetjul | Note Edited: 0003469 | |
2011-12-20 09:02 | finetjul | Note Added: 0003470 | |
2011-12-20 09:21 | jcfr | Note Added: 0003471 | |
2012-01-04 20:12 | finetjul | Reporter | finetjul => kikinis |
2012-01-04 20:12 | finetjul | Assigned To | jcfr => finetjul |
2012-01-04 20:19 | finetjul | Note Added: 0003489 | |
2012-01-04 20:19 | finetjul | Status | assigned => resolved |
2012-01-04 20:19 | finetjul | Fixed in Version | => Slicer 4.0 AHM Winter 2012 |
2012-01-04 20:19 | finetjul | Resolution | open => fixed |
2012-02-21 10:32 | kikinis | Status | resolved => closed |