Копирование быстрее, чем cp?

«первый аргумент, не являющийся параметром после обработки параметров»

Это касается параметров вашего вызова bash . Например, -c - это опция, которую вы применяете к bash в вашем примере, которая не будет отправлена ​​ни одной команде, которую вы вызываете.

«Любые оставшиеся аргументы назначаются позиционным параметрам, начиная с $ 0 »

Это означает, что если вы выполните bash -c / path / to / script arg1 arg2 , указанный сценарий будет выполнен с / path / to / script , arg1 и arg2 , назначенными позиционным параметрам $ 0 , $ 1 и $ 2 соответственно, как если бы вы выполнили команду в интерактивном сеансе bash .

4
25.08.2016, 05:32
1 ответ

Недавно я был озадачен иногда низкой скоростью cp. В частности, почемуdf = pandas.read_hdf('file1', 'df')(700 мс для файла размером 1,2 ГБ ), за которым следуютdf.to_hdf('file2')(530 мс ), могут быть намного быстрее, чемcp file1 file2(8 с )?

Копаться в этом:

  • cat file1 > file2не лучше (8,1 с ).
  • dd bs=1500000000 if=file1 of=file2ни (8,3 с ).
  • rsync file1 file2хуже (11,4 с ), потому что файл2 уже существует, поэтому он пытается выполнить свою скользящую контрольную сумму и магию обновления блока.

О, секундочку! Как насчет разъединения (и удаления)file2сначала, если он существует?

Теперь поговорим:

  • rm -f file2:0,2 с (добавить к любой цифре ниже ).
  • cp file1 file2:1,0 с.
  • cat file1 > file2:1,0 с.
  • dd bs=1500000000 if=file1 of=file2:1,2 с.
  • rsync file1 file2:4с.

Вот и все. Убедитесь, что целевые файлы не существуют (или усеките их, что предположительно и делает pandas.to_hdf()).

Редактировать:это было без очистки кеша перед любой из команд, но, как отмечено в комментариях, это последовательно добавляет ~3,8 с ко всем числам выше.

Также следует отметить :это было опробовано на различных версиях Linux (Centos w. 2.6.18 -ядро ​​408.el5 и Ubuntu w. 3.13.0 -77 -универсальное ядро ​​)и ext4, а также ext3. Интересно, что на MacBook с Darwin 10.12.6 нет никакой разницы, и обе версии (с существующим файлом в месте назначения )и без него работают быстро.

2
27.01.2020, 20:55

Теги

Похожие вопросы