разница во времени между импортом X и X импортировать Y - PullRequest
0 голосов
/ 01 марта 2019

Я заметил небольшую разницу между временем выполнения, когда я импортирую математическую библиотеку и когда я импортирую только функцию sqrt из математической библиотеки

Я создал два примера, чтобы увидеть реальную разницу в эффективности времени.У меня вопрос, почему есть разница между этими двумя подходами.

import math
import time
elapsed_time = 0
for j in range(0,20): 
    start_time = time.time()
    for i in range(0,1000000):
        math.sqrt(i)
    elapsed_time += time.time() - start_time
print(elapsed_time/20.0)

ВЫХОД: 0.16759999752

from math import sqrt
import time
elapsed_time = 0
for j in range(0,20):
    start_time = time.time()
    for i in range(0,1000000):
        sqrt(i)
    elapsed_time += time.time() - start_time
print(elapsed_time/20.0)

ВЫХОД: 0.137699997425

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

из-за того, что когда вы выполняете import math, вы импортируете все классы функций или что-либо еще в математической библиотеке, чем используете больше оперативной памяти и т. Д., Но когда вы выполняете from math import sqrt, вы импортируете только функцию sqrt во всех математических библиотеках lib

0 голосов
/ 01 марта 2019

Как часто вы запускали свой код?Запускать код один раз не имеет статистического значения.Ресурсы исполняющих машин не являются эксклюзивными для вашего кода!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...