dneise / acs_wishlist

just an issue tracker for the ACS feature wishlist
GNU General Public License v3.0
0 stars 0 forks source link

acs release tar ball vs - release git clone #9

Open dneise opened 4 years ago

dneise commented 4 years ago

On github.com, when making a release, github auto-magically creates a snapshot of the repo and bundles it as a tar ball.

So when users want that release and do not want to develop on ACS, but only with ACS, they can download a tar ball instead of cloning the entire repo.

Cloning part of the repo with --depth 1 or --branch <release branch> is not the same, since a clone still puts load in the serverside git, while downloading a tarball only puts load on the staric web server and mirrors can be setup easily.

this should speed up user side building tremendously, since atm cloning is the bottleneck, I think.

dneise commented 4 years ago

Comparison

cmd #files size in MB duration average speed
git clone --branch <br> --depth 1 <repo> 14k 480 MB 100 sec 4.8 MB/sec
cd ExtProd/PRODUCTS && git-lfs fetch origin <br> && git-lfs checkout 3k 480 MB 450sec
NOTE something is wrong here .. after git-lfs checkout ... the repo is 2.8GB in size
--> tar gz - 320 MB
git clone <repo> 14k 2.0 GB 550sec 3.6 MB/sec
- - - - -
git clone <github kubernetes> 22k 1GB 132sec 7.5 MB/sec
git clone --branch v1.19 --depth 1 <github kubernetes> 22k 310MB 20sec 16 MB/sec
wget v1.19 tar <github kubernetes> 22k 36MB (-> 206MB) 14sec 2.6 MB/sec