On Tue, Dec 8, 2015, at 02:53 AM, Nick Coghlan wrote: > There's one trick we discussed that I think is actually fairly safe: > using hard links to share the same set of compiled files for normal > execution and -O, rather than having two copies.
OSTree's default content-addressed storage means this is already happening automatically: $ ostree --repo=repo ls -C fedora-atomic/f23/x86_64/docker-host /usr/lib/python2.7/site-packages |grep 'py[co]$' -00644 0 0 48270 244c23e12f3ea59e4868c77365165eefa00acb8b9da15cd8886088b59bd0505b /usr/lib/python2.7/site-packages/IPy.pyc -00644 0 0 48270 244c23e12f3ea59e4868c77365165eefa00acb8b9da15cd8886088b59bd0505b /usr/lib/python2.7/site-packages/IPy.pyo -00644 0 0 315 3c5f948b8b73a369dce5caa2e591d26df69eeaf5d4ebbe66bb1dd05ea4800e4e /usr/lib/python2.7/site-packages/easy_install.pyc -00644 0 0 315 3c5f948b8b73a369dce5caa2e591d26df69eeaf5d4ebbe66bb1dd05ea4800e4e /usr/lib/python2.7/site-packages/easy_install.pyo -00644 0 0 29726 9fa8f98ce0babad9321137318b56f6b51ab3cc8fc1f0b154fcc9a20e80b14252 /usr/lib/python2.7/site-packages/six.pyc -00644 0 0 29726 9fa8f98ce0babad9321137318b56f6b51ab3cc8fc1f0b154fcc9a20e80b14252 /usr/lib/python2.7/site-packages/six.pyo $ The '-C' means "show the OSTree checksum", and here we can see they are identical. Just eyeballing it it seems the vast majority are identical, a few aren't like: -00644 0 0 9411 b929f9c1fc0c8b94413d2053d5a3d7a9fad7dfe2256c9d564298a49cbc869549 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyc -00644 0 0 9288 2b61d1b96575bc4362800ef85b4713755c0452095a855954366cd3581b2093f8 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyo