@ruby -x "%~f0" %* @exit /b %errorlevel% #!ruby ## 以下スクリプトの内容 ## puts "foo"
2013年03月11日18:15 カテゴリTipsLightweight Languages ついに顕在化しはじめたArrayリスク JavaScript: The Definitive Guide (Kindle ed.) David Flanagan [邦訳:JavaScript 第6版] 以下のようにした理由は、実はJavaScriptのArrayが配列ではないことに起因します。 404 Blog Not Found:Algorithm - Ruby 2.0 や Haskell の遅延リストを JavaScript で これに対して、List.Lazyではmapやfilterを関数合成で実現しています。JavaScriptのArrayが、(整数個のデータ構造が順序よくならんだ古典的な意味での)配列でないことは、以下のように確認できます。 JavaScript var ary = ne
2012-05-04 2013-03-13追記 この記事が@matzさんにツイートされたのを受けて、各処理系の最新版で再度試してみました。 lua, V8, ruby, mrubyでfib(39)の実行時間比較 2013-03-12版をご参照ください。 mruby (軽量ruby) ソース公開 | quredo-styleを見て、自分の環境でlua, luajit, V8, ruby, mrubyで試してみた。 テスト環境 Model: MacBook Air 13-inch, Mid 2011 CPU: 1.7GHz Intel Core i5 RAM: 4GB 1333MHz DDR3 OS: Mac OS X Lion 10.7.3 lua fib.lua function fib(n) if n < 2 then return n end return fib(n-2) + fib
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyやmod_lua、そしてこれまでApacheモジュールをスクリプトで書く場合に使われてきたmod_perlとの性能比較を行っています。 modとしてのアーキテクチャの差で処理系の性能差を埋める 処理系としての差ではなく、Apacheのmod_***としてのアーキテクチャの差によって、Apache上での性能が大きく変わる事が分かってます。Apacheはプロセス(スレッド)をプールしておいて、複数のリクエストに対しプロセスを再利用するアーキテクチャであるため、インタプリタのロードやライブラリの読み込み、さらにはスクリプトをコンパイルするタイミングを工夫すれば、Apache上では高速に動作させる事が可能になります。 例えば、mru
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 さてさて、ついにこの日がやってきました。 mod_mruby – Github mrubyが出てから、はや5日がたとうとしています。様子を見ていると、名前がmatsumotoという人達がmrubyを弄る確率が高いようです。僕も名前がmatsumotoなので、当然弄っています。こちら(Getting Started With Mruby)に関連する情報がまとまっています。 もともと、mod_mrubyを作る事になったモチベーションとしては、mod_mrubyを作ってみようかで書いていますが、様々な分野でLuaと呼ばれる軽量スクリプトの人気が高まってきており、それに対抗するべく、組み込みにあった軽量rubyとしてmrubyがリリースされました。そ
今までIRCクライアントとして、CUIベースのirssiを使っていたのだが、weechatに乗り換えることにした。これ最強かも。 weechatが最強であるポイント テキストベースで利用可能(GUI版も存在する) チャンネル参加者一覧がテキスト版でも表示される 画面分割で複数のチャンネルを同時に表示可能 Linux/*BSD/Mac OS X/Windowsでも動く 文字コード変換機能搭載 Perl, Python, RubyおよびLuaによる機能拡張が可能 デフォルト設定のままでもある程度使いものになる irssiは様々なカスタマイズが可能だが、デフォルト設定がショボくカスタマイズに骨が折れるのでこれは良い。 irssiとショートカットが微妙に異なるので既存irssiユーザは慣れるまで時間がかかるかもしれないが、ドキュメントもそれなりに充実してるので移行する価値あり。是非お試しあれ。 ち
It's like JSON. but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. Next: MessagePack is supported by over 50 programming languages and environm
■ [prog] 言語間のおおまかな速度差 「Computer Language Benchmarks Game」を眺めて、各言語のおおまかな速度性能をまとめてみた。 http://shootout.alioth.debian.org/u32q/shapes.php C、C++ ---- 1倍の壁 ---- Java ---- 3倍の壁 ---- Scala C#(Mono) Haskell(GHC) OCaml CommonLisp(SBCL) Fortran ---- 10倍の壁 ---- Lua(LuaJIT) Erlang Scheme(PLTScheme) ---- 30倍の壁 ---- JavaScript(V8, Tracemonkey) Smalltalk(VisualWorks) ---- 50倍の壁 ---- Python PHP ---- 100倍の壁 ---- Pe
Update (2013-07-15): I improved this program to 50-language version. 50 言語版にパワーアップさせました。 これはこのプログラム自身を出力する Unlambda プログラム、を出力する Whitespace プログラム、を出力する brainfuck プログラム、を出力する Java プログラム、を出力する C プログラム、を出力する Haskell プログラム、を出力する OCaml プログラム、を出力する Lua プログラム、を出力する Perl プログラム、を出力する Python プログラム、を出力する Ruby プログラム、です。 # ruby l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t .s
Pythonの勉強にと思って素数を洗い出すプログラムを書いた。 そしたら結構速いことが分かった。 面白くなって他の言語と比較してみた。 プログラムはコマンドライン引数で指定された上限(のようなもの)までの素数を洗い出すもので 上限を10000000として速度を計測した。 言語時間 Python(Psycoあり)21秒 Python(Psycoなし)137秒 Ruby(1.8)上限1000000で37秒 Ruby(1.9)上限1000000で23秒 Ruby(svn:rev23170からmake)133秒 PHP134秒 Java(OpenJDK6が最速)10.2秒 C++5.0秒 C5.0秒 D6.2秒 Lua(5.1でしか動かない)116秒 Perl96秒 先頭に二行足すだけでこの速度。すごい。 (Psycoは実行時に関数をコンパイルしてくれるらしい) Python import psy
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く