Welcome to Octane, a JavaScript benchmark for the modern web. For more accurate results, start the browser anew before running the test. Refer to the documentation for more information on Octane.
8月17 jsPerf, JSPerfView を使った、JavaScript コードのベンチマーク計測とブログなどで計測結果を利用する方法 jsPerf とは JavaScript のコードスニペットに対してベンチマークを計測するサービスです。 一般的に、コードの速度を計測する際は console.time, console.timeEnd を使う事が多いと思いますが、 実行するたびに結果がブレたり、短い処理では正確な比較ができなかったりします。 jsPerf では何度か同じ処理を実行して最終的に一秒間に何回実行できたかをスコアにするので、実行時間が 1ms より小さい処理でも計測できたり、ブレがあっても大体のスコアが分かったりします。 このスコアを計算する部分は Benchmark.js というライブラリで書かれていますので、サーバサイドの JavaScript コードの速度を計測する
JSXの特徴は、トップページにも書いてあるとおり「faster, safer, easier」の3つです。安全性とか簡単さについては人とか状況によって様々な定義や意見がありますが、唯一Fasterだけは客観的に測れます。 しかしJSXと速度については、トップページにあるBox2Dとshootingのデータ*1とAOBench on JSXぐらいしかありません。 というわけでWebkitで使われているSunSpider 1.0.2 JavaScript BenchmarkをJSXに移植してJavascriptと速度を比較してみました。*2 環境 sunspider Benchmark for JSX - JSX版ベンチマーク Sunspider Benchmark for Javascript - Javascript版ベンチマーク GitHub - mzp/sunspider-jsx: s
sys = require "sys" fff = (x) -> x + 2 ggg = (x) -> a={} a.p = x a.p t = 0 for i in [0..100000000] t += ggg(i) sys.puts "ttt:#{t}"
なんでこんな事をしたんですか?*1 昨日、コンソール開いたんです。コンソール。 そしたらなんかabコマンド打ってもApacheBench使えないんです。 で、よく見たらなんかApacheが入ってなくて、"command not found: ab"とか書いてあるんです。 もうね、アホかと。馬鹿かと。 お前らな、ApacheBench如きで普段使ってないApache入れるかよ、ボケが。 Apacheだよ、Apache。 なんか沢山モジュールとかも付いてるし。1台何役だよ。おめでてーな。 よーしついでだからこれもこれも使うといいぞー、とか言って色々いれてくるの。もう見てらんない。 お前な、ApacheBenchだけよこしてさっさと消えろと。 サーバーってのはな、もっと殺伐としてるべきなんだよ。 ネットワーク越しのイカれた奴といつ喧嘩が始まってもおかしくない、 落ちるか落ちないか、そんな雰囲気が
based on http://cho45.stfuawsc.com/benchmark.html Fork して code という prefix を持った関数をグローバルにいくつか定義するだけでベンチマークが計れます。 jsdo.it だと HTML いじるベンチマークに便利かもしれません。 var obj = { foo : 1 }; var foo = "foo"; function code1 () { var i = 1000; while (i--) { obj.foo; } } function code2 () { var i = 1000; while (i--) { obj[foo]; } } //=================== function getParams() { var code = []; for (var key in window) if (w
ベンチマークを取る際に、それぞれの手法ごとに初期化や終了処理が必要なんだけど、それら処理を除いた、コアの部分の数値を比較したいことって結構ある。そういう場合は、以下のように書けばいい。ということを理解したのでメモ。 #! /usr/bin/perl use strict; use warnings; use Benchmark (); my %bench; Benchmark::enablecache(); for (my $i = 0; $i < 100; $i++) { # ここでいろいろ初期化 push_bench('a', sub { for (1..100000) {} }); # ここでいろいろ終了処理 } for (my $i = 0; $i < 100; $i++) { # ここでいろいろ初期化 push_bench('b', sub { for (1..200000) {
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く