P4python против вызова p4 с использованием подпроцесса, какой способ работает лучше?

Как название.

Я заметил, что вызов p4 из модуля subprocess происходит не очень быстро. Но я не решаюсь изучить привязку Perforce Python, не зная, работает ли она лучше.

Буду признателен, если кто-нибудь поделится опытом использования обоих.

РЕДАКТИРОВАТЬ

Я наблюдал это на Win10/настольном ПК, где моя рабочая копия находится на SSD-накопителе. Команды, которые я наблюдал, включают add, edit и reconcile для большого количества файлов и папок. Я не проводил тщательного профилирования, но воспринимаемый ответ от subprocess кажется медленнее, чем та же операция в P4V.

Ответ Сэма Стаффорда имеет смысл, если вызовы p4 вызывают накладные расходы на множественное соединение.

🤔 А знаете ли вы, что...
Python поддерживает параллельное и асинхронное программирование с помощью модулей asyncio и multiprocessing.


239
1

Ответ:

Решено

В целом, использование p4 API будет быстрее, чем использование CLI, с наиболее значительными преимуществами, очевидными, если вы запускаете несколько команд, поскольку API позволяет вам легко запускать несколько команд на одном подключении к серверу, тогда как двоичный файл CLI устанавливает соединение для каждого вызова.