BCDA-APS / bluesky_training

Bluesky training, including instrument package
https://bcda-aps.github.io/bluesky_training/
Other
11 stars 0 forks source link

conda environment takes a long time to solve #67

Closed prjemian closed 2 years ago

prjemian commented 2 years ago

Can the time to solve the conda environment requirements be reduced?

prjemian commented 2 years ago

Reduced times will benefit work on #65.

prjemian commented 2 years ago

Some requirements will be moved to pip install.

prjemian commented 2 years ago

Time to build (re)install conda environment

====================  ==========  ==============================
phase                 elapsed, s  comments
====================  ==========  ==============================
Python core           29          no downloads
+testing and QA       33          no downloads
+Qt                   35          no downloads
+general support      152         includes numpy 1.21.5 download
repeat                126         no downloads, still a long time
just 2 packages       65          bitshuffle, epics-base
-bitshuffle           36          only epics-base
+pyEpics              41
+pandas, pint         41
+ipympl, lxml         45
+pymongo, xlrd        45
+h5py                 50
+imagecodecs-lite     101         <-- !
+scikit-image         89          time dropped
+HDF5 compression     129         bitshuffle, hdf5plugin
+Bluesky framework    866         <-- !
-hklpy, pydm          375         <-- !
-bluesky-widgets      338
+pydm                 414         hklpy & bluesky-widgets take ~6m to solve (move to pip?)
+user requests        157         but no Bluesky framework packages
+packaging tools      248
+pip installs         178         but no packaging tools
+pip install          161         bluesky-widgets
+pip install          178         hklpy - pulls in more of Bluesky
+pip install          163         remaining Bluesky packages
final version         155
====================  ==========  ==============================
prjemian commented 2 years ago

More than 5x faster.

prjemian commented 2 years ago

bash script to time each installation variation

#!/bin/bash

begin=$(date +%s)
conda env create --force -f ./entest.yml
end=$(date +%s)
echo "elapsed $(($end-$begin))"