Opened 5 years ago

Last modified 3 years ago

#4067 assigned enhancement

ChimeraX distribution is too big, over 1 Gbyte uncompressed

Reported by: Tom Goddard Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Core Version:
Keywords: Cc: Eric Pettersen, Greg Couch
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

We need to look into trimming ChimeraX bloat. It is absolutely enormous with compressed size 300-400 Mbytes and uncompressed 1.15 Gbytes on macOS. I never saw such a large application. The large download size over slower network connections, slow install, and slow startup are all reasons to take a closer look at the size and start trimming it down.

I think without PySide2 the macOS distribution uncompressed was still 600 Mbytes, so this can't all be blamed on massive Qt libraries. Another clue, site-packages/chimerax is 50 Mbytes in ChimeraX 1.1.1 on Mac. So it looks like a lot of prereq packages are causing the huge size.

Change History (5)

comment:1 by Eric Pettersen, 5 years ago

Things in site-packages taking at least 10MB:

PySide2 459MB
scipy 118MB
numpy 82MB
pydicom 63MB
chimerax 62MB
simtk 42MB
babel 29MB
matplotlib 21MB
imagecodecs 17MB
OpenGL 14MB
tables 14MB
sphinx 14MB

comment:2 by Eric Pettersen, 5 years ago

numpy and scipy both have a .dylibs subdirectory with the exact same 4 libraries in them, which is a duplication of 62MB.

in reply to:  3 ; comment:3 by Greg Couch, 5 years ago

We could remove the parts of PySide2 that we don't use.  We're probably 
including the GPL parts of Qt as well as the LGPL parts, even though we 
don't use them.

     -- Greg

in reply to:  4 ; comment:4 by goddard@…, 5 years ago

There are developer tools in PySide2 for instance to build UIs from xml descriptions that we could nuke.  But it should be considered whether ChimeraX is intended to include that stuff for third-party developers to make use of.

comment:5 by Tom Goddard, 3 years ago

The current Mac ARM dmg distribution is 365 Mbytes, and 1 Gbyte uncompressed (ticket #7222), with the Mac universal build 569 Mbyte dmg, and 1.6 Gbytes uncompessed. The 10 largest packages in site-packages for the ARM Mac build are

$ cd site-packages/
$ du -hs * | sort -rh | head
du -hs * | sort -rh | head
341M	PyQt6
 81M	scipy
 79M	chimerax
 46M	numpy
 44M	openmm
 31M	babel
 21M	debugpy
 17M	matplotlib
 14M	OpenGL
 12M	tables

and QtWebEngine is 189 Mbytes.

189M	PyQt6/Qt6/lib/QtWebEngineCore.framework
Note: See TracTickets for help on using tickets.