원리적으로 큰 차이는 없지만 메모에서 문자열을 꺼내와, 문자 함수로 처리하는 방법입니다.
메모의 기능을 쓰지 않기 때문에 메모에 관련된 오버헤드가 빠져서 약간 더 빠릅니다.
다만 창조에서 제공하는 문자 함수의 한계 때문에 메모리를 지지고 볶는 부분이 많아 썩 빠르지도 않습니다.
문자열을 쪼개고 합치는 부분에서 시간을 많이 잡아먹는데, 제 실력으로는 창조 내장 함수만으론 이 이상 어떻게 해볼 수가 없네요.
사용한 함수 중 문자복사, 문자삭제, 문자붙여 (※문자붙여 함수를 직접 사용하진 않았지만 문자열을 + 로 연결할 때 기능이 똑같음) 이 녀석들이 매번 문자열을 새로 할당하고 복사하기 때문에 그 함수를 쓴 이상, 어쩔 수 없이 느립니다.
문자열 내용 변경 불가인 다른 언어에도 이렇게 처리하면 마찬가지 문제가 발생하는데, 그럴 때 대부분 StringBuilder 같은 기능을 제공해서 빠르게 처리할 수 있도록 지원해주지만 창조에는 그런 것이 없네요. |
|