Советы по интеграции кода на C# с бэкендом django

Я использую C# для преобразования документов (pdf, docx и т. д.) в другие форматы (docx, xls, ppt и т. д.), а мой бэкэнд написан на Python (django)

Я успешно написал и загрузил c# dll, которая позволила мне вызывать ее функции и конвертировать документы прямо из python, используя pythonnet clr

Проблема в том, что это медленно, примерно в 20 раз медленнее, чем использование того же кода, если бы я скомпилировал и запустил его как исполняемый файл, а не загрузил как dll в python

Мне нужен совет, стоит ли мне просто сделать код на c# в исполняемый файл, а затем вызывать его через подпроцесс с аргументом пути к файлу (что заставит меня записать файл на диск, вызвать подпроцесс, который в свою очередь прочитает файл, снова запишет, а затем питон прочитает выходной файл и удалит его) или есть альтернатива?

При использовании dll-решения я просто передаю байты файла в dll и не записываю файл на диск, что было бы (для меня) более предпочтительным решением, но не за счет такой большой разницы в скорости.

Полагаю, что передача всего содержимого файла (байтов) в качестве аргумента подпроцессу - плохая идея с точки зрения памяти и по другим причинам.

Любое предложение будет очень приветствоваться! Спасибо!

Загрузка как dll, слишком медленно...

Вернуться на верх