Я разрабатываю инструмент для некоторого численного анализа пользовательских функций.Идея состоит в том, чтобы создать удобный пользовательский интерфейс в Python, где пользователь может войти в функцию C, затем нажать кнопку - и получить некоторые выходные данные.Вычисления могут занимать минуты или часы, поэтому производительность только в Numpy неприемлема.
Я попробовал следующий подход: пользовательский интерфейс на основе Python вызывает gcc, компилирует dll из пользовательских функций, которые используются моим ядром Cалгоритмы в обертках Cython.Это работает, но, поскольку полностью выгрузить модуль python невозможно, я не могу перекомпилировать пользовательскую функцию, пока вся программа пользовательского интерфейса не закроется и не запустится снова.
Единственный способ, который я вижу сейчас, - это разделитьвычислительное ядро и пользовательский интерфейс, а затем заставляют их взаимодействовать через общую память / обмен сообщениями.Когда пользователь хочет обновить свою функцию, программа завершает работу ядра, перекомпилирует dll и снова запускает ядро.
Можете ли вы предложить какие-либо обычные практики в таких случаях?
Спасибо!