2012-02-01から1ヶ月間の記事一覧

JSにコンパイルされたDartがPerlより速い件

Dartのインストールが簡単になっていたので試してみたところ、Perlよりも高速だった。なにこれ悔しい。Dart: void main() { final t = new Stopwatch(); t.start(); final a = new List<int>(); for(var i = 0; i < 1000000; ++i) { a.add(i); } for(var i = 0; i </int>…

JSでi++と++iどっちが速い?

結論から言うと、現在のChromeのみをターゲットにして最適化するという特殊なケースを除き*1、どちらでも変わらないといえます。[追記] window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.g…

JavaScriptのthisの扱いが難しすぎる件

[再々追記] (o.f = o.f)()の結果は右辺値・左辺値というルールで説明できるようです。コメント欄参照のこと。 [/再々追記] [再追記] window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getE…

最近興味があるもの in 2012/2

調べたいと思っているもの。プログラミング言語処理系が多いようだ。 Dart - Programming language for browsers Rust - Programming language for system tool Google Web Toolkit Java to JavaScript JSIL .NET to JavaScript Emscripten LLVM to JavaScri…

非同期処理を直列化する in ActionScript

非同期処理を同期処理のように直列化したいということはよくあることで、async.jsやjsDeferredのようなライブラリがある場合ならそれを使えばよいが、言語によっては信頼できるライブラリがなかったりする。 そういう場合は自力で直列化するコードを書く他な…

ActionScript/FlexUnitで非同期テスト

FlexUnit4はActionScriptの開発環境であるところのFlash Builder組み込みのテストフレームワークなのでこれでテストを書きたいところだが、非同期コードのテストがなかなか厄介だったのでメモしておく。まず、テストを開始する前に非同期で初期化処理(例え…