πŸ’‘ Как ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python: эффСктивныС совСты

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: 1. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: - Π£Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΡ… Π½Π° Π±ΠΎΠ»Π΅Π΅ эффСктивныС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹. - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ быстрый доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. - ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² с мСньшСй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. 2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ быстрыС структуры Π΄Π°Π½Π½Ρ‹Ρ…: - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ словари, Ссли Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ быстро ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ элСмСнтам ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ. - ВмСсто списков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ массивы numpy для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…. 3. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ/ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ: - НСкоторыС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ сократит ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ multiprocessing ΠΈΠ»ΠΈ asyncio для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. 4. Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ (I/O): - Если ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° часто обращаСтся ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π±ΠΎΠ»Π΅Π΅ эффСктивных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ HDF5 ΠΈΠ»ΠΈ Protocol Buffers. - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ эффСктивныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для чтСния/записи Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ read() ΠΈ write() вмСсто readlines() ΠΈ writelines(). Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°:

  # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°
  def sum_of_squares(n):
      return sum([i**2 for i in range(n)])

  # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования словаря
  data = {'apple': 1, 'banana': 2, 'orange': 3}
  print(data['apple'])

  # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования массивов numpy
  import numpy as np
  arr = np.array([1, 2, 3, 4, 5])
  print(arr.mean())
  
  # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ многопоточности
  import threading
  
  def print_numbers():
      for i in range(10):
          print(i)
  
  def print_letters():
      for letter in 'abcdefghij':
          print(letter)
  
  t1 = threading.Thread(target=print_numbers)
  t2 = threading.Thread(target=print_letters)
  
  t1.start()
  t2.start()
  
  t1.join()
  t2.join()
  
  # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°
  with open('data.txt', 'r') as file:
      data = file.read()
  
  print(data)
  

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python

ВрСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… аспСктов ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠŸΠΈΡ‚ΠΎΠ½-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π§Π΅ΠΌ быстрСС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ ΠΈ большС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅.

1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НСкоторыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ - ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ…ΡƒΠ΄ΡˆΡƒΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ с наимСньшСй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ для достиТСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

2. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ использованиС Ρ†ΠΈΠΊΠ»ΠΎΠ²

Π¦ΠΈΠΊΠ»Ρ‹ - ΠΎΠ΄Π½ΠΎ ΠΈΠ· мСст, Π³Π΄Π΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивныС способы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΠΊΠ»Π°Ρ…. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков вмСсто ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² for, Π³Π΄Π΅ это ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ.


# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списков
numbers = [1, 2, 3, 4, 5]
squared_numbers = [x**2 for x in numbers]
print(squared_numbers)
    

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Python ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. НапримСр, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy прСдоставляСт Π±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Pandas ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ инструмСнтами для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

4. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Если ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСт нСзависимыС Π·Π°Π΄Π°Ρ‡ΠΈ, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния. Python прСдоставляСт нСсколько способов для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ многопоточности ΠΈ многопроцСссорности. ИспользованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ процСссов ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования многопоточности
import threading

def square_numbers(numbers):
    for number in numbers:
        print(number**2)

def cube_numbers(numbers):
    for number in numbers:
        print(number**3)

numbers = [1, 2, 3, 4, 5]
thread1 = threading.Thread(target=square_numbers, args=(numbers,))
thread2 = threading.Thread(target=cube_numbers, args=(numbers,))
thread1.start()
thread2.start()
thread1.join()
thread2.join()
    

5. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ выполнСния Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Π½ΠΈΠ΅ ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для достиТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. АнализируйтС свой ΠΊΠΎΠ΄ ΠΈ удаляйтС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ части, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π°

Python прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Cython ΠΈ PyPy. Π­Ρ‚ΠΈ инструмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, особСнно для Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ интСнсивных Π·Π°Π΄Π°Ρ‡. Π˜ΡΡΠ»Π΅Π΄ΡƒΠΉΡ‚Π΅ ΠΈ экспСримСнтируйтС с Π½ΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π°.

7. Π˜Π·ΠΌΠ΅Ρ€ΡŒΡ‚Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ врСмя выполнСния

Π˜Π·ΠΌΠ΅Ρ€ΡŒΡ‚Π΅ врСмя выполнСния вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля timeit ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов профилирования. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ участки ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ ΠΈΡ…. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ повторяйтС этот процСсс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ наибольшСй Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python - Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт для достиТСния Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°. БлСдуя рСкомСндациям этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²Ρ‹ смоТСтС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивным. ΠŸΡ€ΠΈ построСнии эффСктивной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π°. ЭкспСримСнтируйтС, ΠΈΠ·ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΎΡ‚ ΠΎΠΏΡ‹Ρ‚Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅ быстрой ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Расчёт Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° python #short

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π° python | ΠœΠΎΠ΄ΡƒΠ»ΡŒ time python (ΠΏΠΈΡ‚ΠΎΠ½)

Π’Ρ‹ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ€ΡΠ΅ΡˆΡŒ врСмя Π² Python! Или Π½Π΅Ρ‚?

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ установлСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΈΡ‚ΠΎΠ½Π°? 🐍

πŸ”₯ Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ консоли Π² Ρ„Π°ΠΉΠ» Π² Python: ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство πŸ“

πŸ“š Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ class Π² Python ΠΈ Π΅Π³ΠΎ Ρ€ΠΎΠ»ΡŒ: ΠΏΠΎΠ»Π½ΠΎΠ΅ объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ’‘ Как ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python: эффСктивныС совСты

πŸ”„ Как Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² Π½Π°Ρ‡Π°Π»ΠΎ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? πŸ”„

🐍 5 способов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python Π½Π° Linux Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ let Π² Python?