Почему загрузка numpy занимает вечность внутри более крупного кода и мгновенную при запуске в другом скрипте? [закрыто]Python

Программы на Python
Anonymous
 Почему загрузка numpy занимает вечность внутри более крупного кода и мгновенную при запуске в другом скрипте? [закрыто]

Сообщение Anonymous »

Я работаю над проектом, в котором сканирую триггер и, получив его, загружаю файл .npy и обрабатываю его дальше. Теперь вопрос в том, что загрузка файла numpy из процесса стала занимать почти 2 секунды, а когда я попытался загрузить тот же файл из другого тестового сценария, это заняло 0,015 секунды. Может ли кто-нибудь помочь мне понять, как это диагностировать?
Две вещи:
  • Раньше при вызове из приложения он выполнялся мгновенно, и я не уверен, почему почти 3 недели назад он начал занимать больше времени.
  • Производственный сценарий использует многопроцессорность.
Вот еще информация:
Я создал модуль, содержащий несколько определений для проекта, и вызываю одно из этих определений в сценарии многопроцессорной обработки.

Код: Выделить всё

from projectAI.projectAI import dataProcessor
.
.
.
initializations
.
.
.

processes = []
process1 = Process(target = dataProcessor,
args   = (genModelName, dataPath, DB, Max, Min),
daemon = True)
processes.append(process1)

for i in range(Count):
process = Process(target = appEstimator,
args   = (Data, str(i+1), city),
daemon = True)
processes.append(process)

for process in processes:
process.start()

for process in processes:
process.join()
И определение «dataProcessor» в модуле «projectAI» имеет следующую структуру:

Код: Выделить всё

dataProcessor(genModelName, dataPath, DB, Max, Min):

while True:

# Check for a new entry in DB using queries

if newEntry:
data = np.load(dataPath + newEntry["fileName"] + ".npy")

# Further processing
Эта структура реализуется уже несколько месяцев, и у меня никогда не возникало проблем с загрузкой файлов. Лишь недавно загрузка этого файла стала занимать от 1,8 до 2 секунд.
Для диагностики я выполнил следующий скрипт в той же среде:

Код: Выделить всё

import numpy as np, time
T1 = time.time()
data = np.load(dataPath + newEntry["fileName"] + ".npy")
T2 = time.time()
print(T2-T1)
И это занимает всего 0,015 секунды. Я не уверен, в чем может быть причина и почему это началось внезапно.

Подробнее здесь: https://stackoverflow.com/questions/797 ... s-when-run

Вернуться в «Python»