Generally speaking, for the exact reason if you are passing a list of files, or a folder, it will actually zip them and upload the zip file. Specifically to pipeline it should be similar. BTW I think you can change the number of parallel upload threads in StorageManager, but as you mentioned it is faster to zip into one file. Make sense?
Hi. I spent some time this week trying to optimise file transfer time in and out of processes that use google's gcs (in vertex ai pipelines).
It seems that in the case where I have a lot of very small files, it made more sense to tar.gz them and send a big blob than to use gsutil (or, presumably, the clearml.StorageManager) to perform parallel (threadpool) transfers.
I wonder what mechanism is used with cleaml pipelines to optimise passing of data from one component to the next and whether tarring / compression was considered.