수 백만개의 대화 문장을 분류하는 작업을 하던중 궁금증이 생겼다.
대화 문장 안에 http, https, ftp 등이 포함되어 있는지 판별하는 방법으로
정규표현식과 파이썬 'in 연산자'의 속도가 얼마나 차이나는지 비교하였다.
정규표현식이 압도적으로 빠르다
대화 문장 안에 http, https, ftp 등이 포함되어 있는지 판별하는 방법으로
정규표현식과 파이썬 'in 연산자'의 속도가 얼마나 차이나는지 비교하였다.
정규표현식이 압도적으로 빠르다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import re text = 'ㅈ소기업이 굴러가는 법.gif - 악플달면 쩌리쩌려버려 - *여성시대* 차분한 20대들의 알흠다운 공간 - https://m.cafe.daum.net/subdued20club/ReHf/2988786?svc=kakaotalkTab&bucket=toros_cafe_channel_alpha' %%timeit re.search(r'(http|https|ftp):\/\/', text) // 1.4 µs ± 10.2 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) %%timeit ('http://' in text) or ('https://' in text) or ('ftp://' in text) // 225 ns ± 10.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) %%timeit ('http://' in text) or ('https://' in text) // 243 ns ± 13.8 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) | cs |
댓글
댓글 쓰기