728x90
๋ฐ์ํ
๐ ๋ณธ ๊ฒ์๊ธ์ Python 3.11.0 ํ๊ฒฝ์์ ์์ฑ๋์์ต๋๋ค!
ํ๋กํ์ผ๋ง์ ํจ์์ ํธ์ถ, ๋ฐํ, ์์ธ๋ฅผ ์ถ์ ํ๊ณ ๊ฐ ํจ์ ํธ์ถ๊ณผ ์ด๋ฒคํธ๋ฅผ ์ถ์ ํ๋ค.
์ด๋ฅผ ํตํด ์๋์ ์ผ๋ก ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์๋นํ๋ ๋ถ๋ถ(๋ณ๋ชฉ)์ ์ฐพ์์ ์ฑ๋ฅ ๊ฐ์ ์ ์ง์ค ํ ์ ์๋ค.
import cProfile
import numpy as np
def find_max_python(numbers):
max_value = numbers[0]
for num in numbers:
if num > max_value:
max_value = num
return max_value
# ์ซ์๊ฐ ํฌํจ๋ ๋ฆฌ์คํธ
numbers = [np.random.randint(0,1000) for _ in range(1000000)]
# ๊ธฐ๋ณธ ๊ตฌํ ํ๋กํ์ผ๋ง
print("๊ธฐ๋ณธ ๊ตฌํ ํ๋กํ์ผ๋ง:")
cProfile.run('find_max_python(numbers)')
def find_max_optimized(numbers):
return max(numbers)
# ๊ฐ์ ๋ ๊ตฌํ ํ๋กํ์ผ๋ง
print("๊ฐ์ ๋ ๊ตฌํ ํ๋กํ์ผ๋ง:")
cProfile.run('find_max_optimized(numbers)')
๊ฐ์ ์ ํ๋กํ์ผ๋ง์ ์ดํด๋ณด๋ฉด ๊ธฐ๋ณธ ๊ตฌํ์ผ ๋, 4๋ฒ์ ํจ์ ํธ์ถ์ด ์์๊ณ find_max_python ํจ์ ์คํ์ 0.033์ด๊ฐ ์์ ๋์๋ค. ๊ทธ๋์ ์ด๋ถ๋ถ์ ๊ฐ์ ํ์๋ค.
์ด๋ ๊ฒ ํ๋กํ์ผ๋ง์ ํตํด ํจ์์ ๋ณ๋ชฉ์ ์ผ์ผํค๋ ๋ถ๋ถ์ ์ฐพ์ ์์ ํด์ ๊ฐ์ ํ ์ ์๋ค.
728x90
๋ฐ์ํ
'Langauge > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ์ฐ์ฐ ์๋ ์ฌ๋ฆฌ๊ธฐ - Numba (0) | 2024.09.13 |
---|---|
[Python] ๋ณ๋ ฌ ์ฒ๋ฆฌ (0) | 2024.09.13 |
[Python] ์ฐ์ฐ ์๋ ์ฌ๋ฆฌ๊ธฐ - ๋ด์ฅ ํจ์ ์ฌ์ฉ (0) | 2024.09.13 |
[Python] ์ฐ์ฐ ์๋ ์ฌ๋ฆฌ๊ธฐ - ๊ฐ์ ๋ฐ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋ฃ๊ตฌ์กฐ (0) | 2024.09.12 |
[Python] 8. ํ์ผ ์ฒ๋ฆฌ (0) | 2023.02.11 |