Prototype 코어팀의 Tobie Langel씨가 GitHub에 흥미로운 커밋을 했군요. Prototype의 DOM 셀렉터 엔진을 사용자가 지정하여 빌드할 수 있게 한 것입니다. "NWMatcher" 셀렉터를 사용하려면 아래와 같은 명령으로 빌드할 수 있다고 합니다. 자세한 빌드 방법을 Outsider님께서 포스팅 해 주셨네요.
C:\Workspace\prototype>rake dist SELECTOR_ENGINE=nwmatcher
일전에 "Prototype with Sly is 3x faster"라는 글을 작성했습니다. 그리고 SlickSpeed를 이용하여 개인적인 테스트도 해 보고 실제로 적용하여 사용하고 있습니다. 문득 성능이 궁금하여 Sizzle과 NWMatcher로 빌드된 Prototype을 측정해 본 결과 아래와 같았습니다. NWMatcher가 짱먹었네요.
| browsers / selectors |
Sizzle+ |
NWMatcher+ |
Sly+ |
Prototype |
jQuery |
| Chrome(v4.0) |
3772 |
4283 |
4052 |
2715 |
4226 |
| Firefox(v3.5) |
844 |
1895 |
942 |
565 |
900 |
| IE(v8.0) |
569 |
854 |
1156 |
408 |
1034 |
| Safari(v4.0) |
4302 |
6035 |
4845 |
2418 |
4805 |
final points (more is better)