string 절 분 효율 실험

현재 진행 중인 항목 은 만 개의 string 을 구분 해 야 합 니 다. 다음 과 같은 두 가지 선택 방안 이 있 습 니 다.
1. string 의 split 방법 으로 나 누 기
2. 정규 표현 식 으로 나 누 기
 
어떤 효율 이 높 은 지 알 고 싶 으 면 실험 을 해 보 자.
 
브 라 우 저 Firefox 3.6.3
OS       Kubuntu 9.04
 
테스트 계획:
먼저 100, 000 개의 xxx, yy, zzz 와 유사 한 문자열 을 순환 적 으로 생 성하 고 쉼표 로 나 눕 니 다.
 
1. stinrg 의 split 방법 분할:
실험 코드:
<html>
        <head></head>
        <body>
        </body>
        <script type="text/javascript">
                        var num = 100000;
                        var ret = [];
                        for(var i = 0; i<num; i++){
                                ret [ret.length] = "id" + i + ",title" + i + ",name" + i;
                        }

                        var start = new Date().getTime();
                        var sep = ',';
                        for(var i = 0; i<ret.length ; i++){
                                ret[i].split(sep);
                        }
                        var end = new Date().getTime();

                        document.write("use split() to parse " + num + "strings costs " + (end - start) + " ms");
        </script>
</html>

 
이 프로젝트 의 테스트 결 과 는:
use split() to parse 100000strings costs 172 ms 

 
2. 정규 로 나 누 기
 
실험 코드:
<html>
        <head></head>
        <body>
        </body>
        <script type="text/javascript">
                        var num = 100000;
                        var ret = [];
                        for(var i = 0; i<num; i++){
                                ret [ret.length] = "id" + i + ",title" + i + ",name" + i;
                        }

                        var start = new Date().getTime();
                        var pattern = /(.*),(.*),(.*)$/;
                        for(var i = 0; i<ret.length ; i++){
                                pattern.exec(ret[i]);
                        }
                        var end = new Date().getTime();

                        document.write("use regx to parse " + num + "strings costs " + (end - start) + " ms");
        </script>
</html>

 
이 프로젝트 의 결 과 는:
use regx to parse 100000strings costs 1300 ms

 
 
위의 결 과 를 통 해 알 수 있 듯 이 split 방안 의 효율 은 정규 방안 보다 훨씬 높다.
그러나 이 결 과 는 문자열 의 조작 효율 이 정규 보다 높다 고 말 할 수 는 없 지만 적어도 우 리 는 이런 결론 을 내 릴 수 있다.
문자열 의 규칙 절 분 은 split 작업 효율 이 높 습 니까?
 
모든 것 은 데이터 로 말 해 야 한다.좀 귀 찮 지만.

좋은 웹페이지 즐겨찾기