なんかこれインチキなので調べ直した。まあ用途次第なんだけど……
UA |
ver. |
indexOf |
match |
search |
exec |
test |
Safari |
4.0 (530.17) |
2 |
4 |
2 |
4 |
2 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>bm</title>
<pre id="outputArea"></pre>
<script type="text/javascript">
window.onload = function() {
var run = 10, num = 10000, outputArea = document.getElementById('outputArea');
var refText = 'XYZ', refExpr = new RegExp(refText), srcText ='JavaScript Search/RegExp Sample, JavaScriptによるシリアルサーチ検索/正規表現のサンプル, XYZ';
(function() {
for (var callback, args = Array.prototype.slice.call(arguments); callback = args.shift();) {
for (var time = 0, i = run; i--;) {
for (var s = new Date, j = num; j--;)
callback();
time += new Date - s;
}
outputArea.innerHTML += Math.ceil(time / run) + '|';
}
})(
function() { srcText.indexOf(refText); },
function() { srcText.match(refExpr); },
function() { srcText.search(refExpr); },
function() { refExpr.exec(srcText); },
function() { refExpr.test(srcText); }
);
};
</script>