try catch 트릭이 실제 쓰는 말인지는 모르겠으나
try catch를
리스트나 벡터 순회등에서 사이즈 검사를 제외하고 무한루프를 돌린뒤 out of size 와 같은 에러가 나면 try catch 에 의하여 중지시키던가
TryParse 대신에 그냥 형변환때리고 try catch에 의하여 잡히면 parse 불가능과 같은식으로 사용 할 수 있다.
실제로는 Try-Catch는 스택 되감기때문에 Cost가 상당히 큰 작업이라 하지 않는데
뎁스가 낮고 리스트의 크기가 너무커서 Try-Catch 의 Cost가 무시할만 하게 작을때는 Try-Catch가 더 이득이지 않을까 하는 생각에
C++ 를 이용, 100000000 개의 사이즈를 가지는 벡터에서 시간을 측정해봤는데
디버그 모드에서 Try-Catch가 좀더 빠르게 나왔으나 릴리즈 모드에서는 컴파일러 최적화로 인해서 인지 사이즈 검사를 진행하는것이 좀더 빠르게 나왔다.
실험을 좀 야매로 진행해서 다른 자료구조, 다른방법이면 다르게 나올가능성이 아주 크기때문에.. 크게 신뢰할만 하지 않다.
다만 C#관련이긴하지만
https://stackoverflow.com/questions/2431836/pros-and-cons-of-trycatch-versus-tryparse
https://stackoverflow.com/questions/2470494/try-catch-or-check-length
등에 따르면 그냥 정석대로 하는것이 좋다고 한다. 뭐 당연한거겠지만..
'프로그래밍 기술 노트 > 기타 정보' 카테고리의 다른 글
인공지능 Intellisense, Intellicode (0) | 2019.06.29 |
---|---|
Mircosoft 계산기 오픈소스 (0) | 2019.06.29 |
Visual Studio 같은 파일을 다른 탭으로 보기 (1) | 2019.06.16 |
왜 파이썬은 self를 사용하고 C++, java, c# 은 this는 사용하는가? (0) | 2019.06.12 |
정규표현식 관련 사이트 regex101, txt2re (0) | 2019.06.01 |