-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
병목 발생 지점
52번 라인: if student.name in self.processed_students: (96.0% 시간 소모)
문제점
5000명의 학생을 처리할 때마다 리스트에서 선형 탐색
평균적으로 리스트의 절반(2500개)을 탐색
총 탐색 횟수: 5000 × 2500 = 12,500,000회
해결책
set으로 자료구조를 바꿔서 O(1)으로 탐색 시간 줄이기
총 탐색 횟수: 5000 × 1 = 5000회
| 항목 | 원본 (리스트) | 개선 (set) | 개선 비율 |
|---|---|---|---|
| 데이터 처리 | 77.498ms | 3.144ms | 24.6배 |
| 전체 실행 | 127.952ms | 52.494ms | 2.4배 |
| 검색 복잡도 | O(n²) | O(n) | 선형→상수 |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels