Cooper Ry Lees wrote on 7/13/18 13:51:
Today Facebook Open Sourced a competitor to PEX and other zip based
distribution methods for Python (and potentially other languages). Basically
it's claim to fame is start up time for large modules being similar to regular
on file system modules due to extracting on read via SquashFS mounted
executables. For more information read our blog post:
-
https://code.fb.com/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/
<https://code.fb.com/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/>
This is really interesting! Thanks for releasing it and announcing it.
I should mention that LinkedIn (my day job) recently released 'shiv' as
a more modern, and in our case much faster, zipapp container similar to pex.
http://shiv.readthedocs.io/en/latest/
I have some quick questions about XAR:
* How do you achieve faster hot start times with XAR over native file
system? That's a bit unexpected, although based on our shiv work, I can
imagine some things about how you start Python or lay out the code that
might provide better hot start times (e.g. fewer entries on sys.path and
a fanatical avoidance of pkg_resources). OTOH, I'd think that relying
on FUSE would impose some additional overhead over native file systems.
* Is there any practical operational or performance limits on the number
of mounted XARs you can have? E.g. what's the impact of deploying say a
few thousand XARs on any particular machine (generally, of Linux and
macOS - I'm not as concerned about Windows :)
* Do you just put the XAR mountpoint's bin on everyone's $PATH or do you
symlink those bins into a standard $PATH location?
Cheers,
-Barry
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/7CD3HDYFNIAFWSD4FSSTJQRNGJ7M3TDP/