개발언어/Python
Ray 적용하기
pastime
2023. 9. 27. 23:34
728x90
Ray란? https://pastime2532.tistory.com/162
2~3년 전만 해도 Ray는 윈도우 환경에서 미지원이였지만 현재 베타로 지원중이다.
class sample code
import ray
import random
import time
@ray.remote
class Sample:
def __init__(self, x):
self.x = x
def calc(self):
data = []
for _ in range(100000):
random_number = random.randint(1, 1000000)
data.append(random_number)
return data
if __name__ == "__main__":
ray.init()
ray_result = []
tasks = [Sample.remote(x) for x in range(10)] # 10개로 병렬
start_time = time.time()
# 각 태스크의 calc 메서드를 병렬로 실행
results = ray.get([task.calc.remote() for task in tasks]) # 10개의 태스크 병렬 실행
# 생성된 데이터 합치기
for data in results:
ray_result.extend(data)
print(len(ray_result))
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)
ray.shutdown()
출력
1000000
5.622464656829834
적은양은 오히려 시간이 더 걸리지만
728x90