일반적인 스트링의 정규식 비교방법. 편하게 matches를 사용하면 되지만.. 사실 String의 mathces 메소드 안의 Pattern은 매번 비교할때마다 사용되고 버려진다. 그래서 불필요하게 메모리에 올라가고 그때마다 가비지컬렉터가 돌기때문에 훨씬 성능이 느리다.
대신에 사용할수있는 방법은 - static final로 클래스가 로딩될때 미리 메모리에 올려두고 공유하게 하는 것이다. Pattern.compile을 사용하면 된다!
같은 조건에서 100번 돌린결과
일반적인 matches를 사용했을때 : 173 ms,static final 한 메소드를 사용했을때 : 26 ms로 압도적인 빠름을 확인할수있었다.... 무려 7배정도나 차이가 난다. 불필요한 객체생성을 막음으로써 성능향상을 꾀할수있다!!!
댓글 없음:
댓글 쓰기