Python Performance Check

List Comp 와 Generator Comp 차이 속도차이 비교
참고 블로그

  • 제너레이터 컴프리헨션 표현식
generator_items = (
  expression
  for i in range(100)
)
from timeit import timeit
import random
from faker import Faker
import time
from memory_profiler import profile


"""
List Comprehension 과 Generator Comprehension 속도차이 비교를 위해 코드 작성
"""
fake = Faker('ko_KR')

@profile
def test():
    """"List Comprehension"""
    items = [
        {
            'id': i,
            'name': fake.name(),
            'address': fake.address(),
            'age': random.randint(1, 100)
        }
        for i in range(10_000)
    ]
    return items

@profile
def test2():
    """Generator Comprehension"""
    items = (
        {
            'id': i,
            'name': fake.name(),
            'address': fake.address(),
            'age': random.randint(1, 100)
        }
        for i in range(10_000)
    )
    return items

print(timeit(test, number=10))
print(timeit(test2, number=10))


# result = test()
result2 = test2()

for item in result2:
  print(item)

댓글남기기