티스토리 뷰
STT API + LangChain Agent + TTS API
모든 과정 Edge Function 사용 전체
Html + FastAPI
전체 처리 시간: 1018.7060546875 ms
html_test/:354 tts 시간: 2460.004150390625 ms
favicon.ico:1
GET http://127.0.0.1:5500/favicon.ico 404 (Not Found)Understand this errorAI
html_test/:517 전체 처리 시간: 1000.872802734375 ms
html_test/:354 tts 시간: 3073.755859375 ms
html_test/:517 전체 처리 시간: 1459.635009765625 ms
html_test/:354 tts 시간: 1756.298095703125 ms
html_test/:517 전체 처리 시간: 1160.830078125 ms
html_test/:354 tts 시간: 2658.677001953125 ms
html_test/:517 전체 처리 시간: 902.39501953125 ms
html_test/:354 tts 시간: 1572.27099609375 ms
html_test/:517 전체 처리 시간: 945.47998046875 ms
html_test/:354 tts 시간: 2774.18310546875 ms
html_test/:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at html_test/:180:37
(anonymous) @ html_test/:180
setTimeout
startNewSTTSession @ html_test/:178
(anonymous) @ html_test/:170
setInterval
startSilenceDetection @ html_test/:156
recognition.onresult @ html_test/:114Understand this errorAI
html_test/:517 전체 처리 시간: 1163.3349609375 ms
html_test/:354 tts 시간: 1932.626953125 ms
html_test/:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at html_test/:180:37
(anonymous) @ html_test/:180
setTimeout
startNewSTTSession @ html_test/:178
(anonymous) @ html_test/:170
setInterval
startSilenceDetection @ html_test/:156
recognition.onresult @ html_test/:114Understand this errorAI
html_test/:517 전체 처리 시간: 3044.552001953125 ms
html_test/:354 tts 시간: 2310.27099609375 ms
html_test/:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at html_test/:180:37
(anonymous) @ html_test/:180
setTimeout
startNewSTTSession @ html_test/:178
(anonymous) @ html_test/:170
setInterval
startSilenceDetection @ html_test/:156
recognition.onresult @ html_test/:114Understand this errorAI
html_test/:517 전체 처리 시간: 1495.859130859375 ms
- 전체 처리 시간 합:1018.706+1000.873+1459.635+1160.830+902.395+945.480+1163.335+3044.552+1495.859≈11691.059 ms1018.706 + 1000.873 + 1459.635 + 1160.830 + 902.395 + 945.480 + 1163.335 + 3044.552 + 1495.859 \approx 11691.059 \text{ ms}
- TTS 시간 합:2460.004+3073.756+1756.298+2658.677+1572.271+2774.183+1932.627+2310.271≈16449.371 ms2460.004 + 3073.756 + 1756.298 + 2658.677 + 1572.271 + 2774.183 + 1932.627 + 2310.271 \approx 16449.371 \text{ ms}
- Total Combined Time:11691.059+16449.371≈30729.430 ms11691.059 + 16449.371 \approx 30729.430 \text{ ms}
- 전체 항목 수: 9개 (모든 항목을 포함)
- 평균 시간:평균 시간=30729.4309≈3414.415 ms\text{평균 시간} = \frac{30729.430}{9} \approx 3414.415 \text{ ms}
이 계산을 통해 최종적으로 total_combined_time과 average_time이 도출되었습니다.
React + FastAPI
tts2: 2883.5869140625 ms
App.js:335 Stopping listening at: 2024. 11. 3. 오후 8:38:16
App.js:296 Response from backend: {response: '알겠어요! 그럼 오늘도 소중한 이야기 나눠볼까요? 청년 시절에 대해 이야기해 주실 수 있을까요? 어떤 일들이 기억에 남으세요?'}
App.js:300 tts: 2755.64990234375 ms
App.js:296 Response from backend: {response: '좋아요! 청년 시절에 어떤 꿈이나 목표가 있었나요? 그때 하고 싶었던 일들이 있었는지 궁금해요.'}
App.js:280 Timer 'tts' already exists
sendToBackend @ App.js:280
handleSendMessage @ App.js:346
handleSend @ App.js:47
callCallback @ react-dom.development.js:4164
invokeGuardedCallbackDev @ react-dom.development.js:4213
invokeGuardedCallback @ react-dom.development.js:4277
invokeGuardedCallbackAndCatchFirstError @ react-dom.development.js:4291
executeDispatch @ react-dom.development.js:9041
processDispatchQueueItemsInOrder @ react-dom.development.js:9073
processDispatchQueue @ react-dom.development.js:9086
dispatchEventsForPlugins @ react-dom.development.js:9097
(anonymous) @ react-dom.development.js:9288
batchedUpdates$1 @ react-dom.development.js:26179
batchedUpdates @ react-dom.development.js:3991
dispatchEventForPluginEventSystem @ react-dom.development.js:9287
dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ react-dom.development.js:6465
dispatchEvent @ react-dom.development.js:6457
dispatchDiscreteEvent @ react-dom.development.js:6430
Show 15 more frames
Show lessUnderstand this warningAI
App.js:296 Response from backend: {response: '좋아요! 청년 시절에 하고 싶었던 일이나 꿈이 있었다면, 그에 대해 좀 더 이야기해 주실 수 있을까요? 어떤 것들이 가장 기억에 남으세요?'}
App.js:300 tts: 3119.677001953125 ms
App.js:300 tts: 789.75 ms
App.js:296 Response from backend: {response: '알겠어요! 청년 시절의 이야기를 나누는 건 정말 소중한 시간이죠. 혹시 그 시절에 특별한 친구나 관계가 있었나요? 그들과의 기억도 궁금해요.'}
App.js:300 Timer 'tts' does not exist
sendToBackend @ App.js:300
await in sendToBackend
handleSendMessage @ App.js:346
handleSend @ App.js:47
callCallback @ react-dom.development.js:4164
invokeGuardedCallbackDev @ react-dom.development.js:4213
invokeGuardedCallback @ react-dom.development.js:4277
invokeGuardedCallbackAndCatchFirstError @ react-dom.development.js:4291
executeDispatch @ react-dom.development.js:9041
processDispatchQueueItemsInOrder @ react-dom.development.js:9073
processDispatchQueue @ react-dom.development.js:9086
dispatchEventsForPlugins @ react-dom.development.js:9097
(anonymous) @ react-dom.development.js:9288
batchedUpdates$1 @ react-dom.development.js:26179
batchedUpdates @ react-dom.development.js:3991
dispatchEventForPluginEventSystem @ react-dom.development.js:9287
dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ react-dom.development.js:6465
dispatchEvent @ react-dom.development.js:6457
dispatchDiscreteEvent @ react-dom.development.js:6430
Show 15 more frames
Show lessUnderstand this warningAI
App.js:296 Response from backend: {response: '오늘 청년 시절 이야기 잘 들었어요. 그 시절의 기억이 정말 소중하네요. 다음에 또 다른 이야기 들려주세요. 오늘도 소중한 이야기 해주셔서 감사해요!'}
App.js:300 tts: 3196.8662109375 ms
App.js:296 Response from backend: {response: '오늘 청년 시절 이야기 잘 들었어요. 정말 흥미로운 기억들이 많으셨네요. 다음에 또 다른 이야기 들려주세요. 오늘도 소중한 이야기 해주셔서 감사해요!'}
App.js:300 tts: 3421.31298828125 ms
App.js:296 Response from backend: {response: '안녕하세요! 오늘 기분은 어떠신가요? 잘 지내고 계신지 궁금해요.'}
App.js:300 tts: 2585.802001953125 ms
App.js:296 Response from backend: {response: '안녕하세요! 오늘 기분은 어떠신가요? 잘 지내고 계신지 궁금해요.'}
App.js:300 tts: 2524.669189453125 ms
App.js:296 Response from backend: {response: '안녕하세요! 오늘 기분은 어떠신가요? 잘 지내고 계신지 궁금해요.'}
App.js:300 tts: 1912.45703125 ms
App.js:296 Response from backend: {response: '알겠어요! 그럼 계속해서 이야기 나눠볼까요? 오늘 기분은 어떠신가요?'}
App.js:300 tts: 2101.780029296875 ms
App.js:338 Starting listening at: 2024. 11. 3. 오후 8:39:24
App.js:174 Response from backend: {response: '알겠어요! 그럼 계속해서 이야기 나눠볼까요? 오늘 기분은 어떠신가요?'}
App.js:181 tts2: 2467.9609375 ms
App.js:174 Response from backend: {response: '알겠어요! 오늘 이야기 나눠주셔서 정말 감사해요. 다음에 또 다른 이야기 들려주시면 좋겠어요. 항상 소중한 시간 보내세요!'}
App.js:181 tts2: 2294.299072265625 ms
App.js:174 Response from backend: {response: '알겠어요! 오늘 이야기 나눠주셔서 정말 감사해요. 다음에 또 다른 이야기 들려주시면 좋겠어요. 항상 소중한 시간 보내세요!'}
App.js:181 tts2: 3043.047119140625 ms
App.js:174 Response from backend: {response: '알겠어요! 오늘 이야기 나눠주셔서 정말 감사해요. 다음에 또 다른 이야기 들려주시면 좋겠어요. 오늘도 소중한 시간 보내세요!'}
App.js:181 tts2: 2831.083984375 ms
App.js:174 Response from backend: {response: '오늘 청년 시절 이야기 잘 들었어요. 다음에 또 다른 이야기 들려주세요. 오늘도 소중한 이야기 들려주셔서 감사해요!'}
App.js:181 tts2: 3079.337890625 ms
App.js:335 Stopping listening at: 2024. 11. 3. 오후 8:40:28
App.js:174 Response from backend: {response: '오늘 청년 시절 이야기 잘 들었어요. 다음에 또 다른 이야기 들려주세요. 오늘도 소중한 이야기 해주셔서 감사해요!'}
App.js:181 tts2: 2184.297119140625 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 1107.385009765625 ms
(index):318 tts 시간: 1465.35400390625 ms
favicon.ico:1
GET http://127.0.0.1:8000/favicon.ico 404 (Not Found)Understand this errorAI
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 972.427978515625 ms
(index):318 tts 시간: 2374.557861328125 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 1115.156982421875 ms
(index):318 tts 시간: 1250.318115234375 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 991.323974609375 ms
(index):318 tts 시간: 1562.162109375 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 1013.647216796875 ms
(index):318 tts 시간: 2022.79296875 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
(anonymous) @ (index):152
setInterval
startSilenceDetection @ (index):138
recognition.onresult @ (index):112Understand this errorAI
(index):366 전체 처리 시간: 980.837890625 ms
(index):318 tts 시간: 1459.487060546875 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
(anonymous) @ (index):152
setInterval
startSilenceDetection @ (index):138
recognition.onresult @ (index):112Understand this errorAI
(index):366 전체 처리 시간: 965.41015625 ms
(index):318 tts 시간: 2531.237060546875 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 1118.507080078125 ms
(index):318 tts 시간: 1308.14794921875 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 778.1259765625 ms
(index):318 tts 시간: 1368.446044921875 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
recognition.onend @ (index):122Understand this errorAI
(index):366 전체 처리 시간: 836.97216796875 ms
(index):318 tts 시간: 1513.033935546875 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
(anonymous) @ (index):152
setInterval
startSilenceDetection @ (index):138
recognition.onresult @ (index):112Understand this errorAI
(index):366 전체 처리 시간: 737.85791015625 ms
(index):318 tts 시간: 1434.404052734375 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
(anonymous) @ (index):152
setInterval
startSilenceDetection @ (index):138
recognition.onresult @ (index):112Understand this errorAI
(index):366 전체 처리 시간: 873.64599609375 ms
(index):318 tts 시간: 2462.683837890625 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
(anonymous) @ (index):152
setInterval
startSilenceDetection @ (index):138
recognition.onresult @ (index):112Understand this errorAI
(index):366 전체 처리 시간: 1019.45703125 ms
(index):318 tts 시간: 1291.765869140625 ms
(index):162 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at (index):162:37
(anonymous) @ (index):162
setTimeout
startNewSTTSession @ (index):160
(anonymous) @ (index):152
setInterval
startSilenceDetection @ (index):138
recognition.onresult @ (index):112Understand this errorAI
(index):366 전체 처리 시간: 873.921142578125 ms
(index):318 tts 시간: 1275.84716796875 ms
전체 처리 시간의 평균은 약 956.05 ms이고, TTS 시간의 평균은 약 1665.73 ms입니다. 총 세트 수는 14개입니다.
전체 처리 시간과 TTS 시간을 합친 평균 시간은 약 2621.78 ms입니다.
결론 : React+FastAPI와 Django는 일반적인 부하 상태에서는 그다지 많이 차이나지 않는 딜레이를 보인다.
작게 하려면 그냥 맘 편하게 Django 쓰자. React 컴포넌트 관리 매우 머리아프다.
+추가
Html +FastAPI는 너무 차이나는거 같아서 다시 한번 해봤다.
전체 처리 시간: 1599.97802734375 ms
index.html:354 tts 시간: 1330.476806640625 ms
favicon.ico:1
GET http://127.0.0.1:5500/favicon.ico 404 (Not Found)Understand this errorAI
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 1319.876953125 ms
index.html:354 tts 시간: 1171.284912109375 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 968.719970703125 ms
index.html:354 tts 시간: 1984.2470703125 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 1123.833984375 ms
index.html:354 tts 시간: 2667.68603515625 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 936.669189453125 ms
index.html:354 tts 시간: 2468.134033203125 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
(anonymous) @ index.html:170
setInterval
startSilenceDetection @ index.html:156
recognition.onresult @ index.html:114Understand this errorAI
index.html:517 전체 처리 시간: 1002.4130859375 ms
index.html:354 tts 시간: 1315.72509765625 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 1038.55615234375 ms
index.html:354 tts 시간: 1351.094970703125 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 1133.912841796875 ms
index.html:354 tts 시간: 1549.0751953125 ms
index.html:180 Uncaught InvalidStateError: Failed to execute 'start' on 'SpeechRecognition': recognition has already started.
at index.html:180:37
(anonymous) @ index.html:180
setTimeout
startNewSTTSession @ index.html:178
recognition.onend @ index.html:124Understand this errorAI
index.html:517 전체 처리 시간: 718.48681640625 ms
index.html:354 tts 시간: 2098.716064453125 ms
전체 처리 시간: 892.781005859375 ms
index.html:354 tts 시간: 1321.3759765625 ms
index.html:517 전체 처리 시간: 814.593994140625 ms
index.html:354 tts 시간: 1376.732177734375 ms
index.html:517 전체 처리 시간: 1052.574951171875 ms
index.html:354 tts 시간: 1811.279052734375 ms
index.html:517 전체 처리 시간: 1041.70703125 ms
index.html:354 tts 시간: 2048.39404296875 ms
index.html:517 전체 처리 시간: 1056.3798828125 ms
index.html:354 tts 시간: 3097.761962890625 ms
index.html:517 전체 처리 시간: 1011.8671875 ms
index.html:354 tts 시간: 1665.475830078125 ms
index.html:517 전체 처리 시간: 968.321044921875 ms
index.html:354 tts 시간: 1550.048095703125 ms
index.html:517 전체 처리 시간: 1092.998046875 ms
index.html:354 tts 시간: 1789.681884765625 ms
index.html:517 전체 처리 시간: 957.18212890625 ms
index.html:354 tts 시간: 1805.5400390625 ms
1093.6052222222222, 1770.7155555555555, 2864.320777777778, 9)
새로운 데이터에서 전체 처리 시간의 평균은 약 1093.61 ms, TTS 시간의 평균은 약 1770.72 ms입니다. 두 시간을 합친 평균 시간은 약 2864.32 ms이고, 총 세트 수는 9개입니다.
두번째는 2535.694ms
더 빠를때도 있고, 더 느릴때도 있고..
결론적으로 말하자면 대회 시연하는데는 문제 없지만, 부하 테스트같은걸로 해야할 거 같다.
+추가
React + django
esponse from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 4044.22998046875 ms
useSpeechRecognition.js:86 Response from backend: {response: '알겠어요! 그럼 계속 이야기 나눠볼까요? 요즘 어떻게 지내고 계신지 궁금해요. 특별한 일은 없으셨나요?'}
useSpeechRecognition.js:92 tts2: 2706.941162109375 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 다시 만나서 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 3069.329833984375 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2838.863037109375 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2726.470947265625 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2719.845947265625 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2532.4501953125 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2926.462890625 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2137.344970703125 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 4057.656982421875 ms
useSpeechRecognition.js:86 Response from backend: {response: '안녕하세요! 이렇게 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}
useSpeechRecognition.js:92 tts2: 2629.0810546875 ms
The average time for the tts2 values is approximately 2944.43 ms.
따라서 대략 평균 범위는 250ms 정도 차이가 난다.
최적화 오차는 다음 시간에 구해봐야겠다.