Я пытаюсь оптимизировать взаимодействие между двумя сценариями, которые у меня есть.
Я подумал о двух вещах: программа c ++ не завершается, пока вы не убьете ее вручную, или не сгенерируете всю информацию в python перед передачей ее в c ++.
Объяснение проблемы:
Что делают сценарии:
Программа на C ++ (не сделанная мной, и я не очень хорошо программирую на c ++): берет массив из 7 чисел и возвращает одно простое число.
Скрипт Python (мой, и я могу немного программировать на Python): генерирует эти 7 числовых массивов, передает их в программу c ++, ждет ответа и добавляет его в список. Затем он создает следующий массив.
Теоретически это работает. Однако, как и сейчас, он открывает и закрывает программу на С ++ для каждого вызова. Для одного массива это не проблема, но я пытаюсь увеличить до 25К массивов, а в будущем до 6+ миллионов массивов. Очевидно, что тогда уже невозможно каждый раз открывать / закрывать его, тем более что программе c ++ для начала необходимо загрузить VCD-файл объемом 130 МБ.
Два варианта, которые я подумал о себе, заключались в том, чтобы сначала сгенерировать все массивы на python, затем передать их в программу c ++ и затем проанализировать все результаты. Однако я не знаю, как это сделать с массивами 6M. Однако не важно, что результаты, которые я получаю, находятся в том же порядке, что и массивы, в которые я добавляю данные.
Второй вариант, о котором я подумал, состоял в том, чтобы программа c ++ не закрывалась после каждого вызова. Я не могу программировать на c ++, хотя и не знаю, возможно ли это, поддерживая его «живым», чтобы вы могли время от времени просто вставлять в него массивы и получать ответ.
(Примечание: я не могу программировать ни на чем другом, кроме python, и хочу сделать этот проект на python. Программу на c ++ нельзя перевести на python по соображениям скорости.)
Заранее спасибо, Макс.