最速スクリプト言語決定戦!
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG最初のお題は「たらいまわし関数」でGO
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGどこかのコピペにもあったけど、新しいだけあって
他の言語を凌駕してる。
0005デフォルトの名無しさん
NGNGhttp://www.bagley.org/〜doug/shootout/bench/ackermann/
0007デフォルトの名無しさん
NGNGC#は言語仕様がJavaより複雑だとして非難されている。
これはつまり、Ruby信者とJava厨の声が大きいということでしかない。
そういう基地外の妄想を真に受けないこと。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGだったら語ることは何もない。
0010デフォルトの名無しさん
NGNGH・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P! H・S・P!
0011デフォルトの名無しさん
NGNGスクリプトの実行速度比較。
Rubyは1.6.8だから遅い。1.8は速い、と言っている
信者も居るので、おまいら実測で語って下さい、と。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGこれ「たらいまわし」じゃないし。
0014たらいまわし関数
NGNG{
if (x <= y) return y;
return tarai(tarai(x - 1, y, z),
tarai(y - 1, z, x),
tarai(z - 1, x, y));
}
0015デフォルトの名無しさん
NGNG何が最速なんだか。
0016デフォルトの名無しさん
NGNGスクリプト言語ってのはお手軽に処理を自動化するためのもんであって
よっぽどの事がない限り速度なんて問題にならんけどな。
0017デフォルトの名無しさん
NGNGそれ再帰。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG唯一parrotが動く言語だから
0020デフォルトの名無しさん
NGNG・速い … Perl
・遅い … C
実行速度
・速い … C
・遅い … Perl
以上。〜終了〜
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG00231
NGNGSchemeも参戦可。
ただしネイティブコンパイルは認めない。
0024デフォルトの名無しさん
NGNGさっさと終了しろ。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGこれだからperl厨は。
マシン語。終了。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGこいつ何言ってんの?
0029デフォルトの名無しさん
NGNG実行速度が必要ならスクリプト言語使わんつーの。
0030デフォルトの名無しさん
NGNGオーバーヘッドがものすごかったり。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGThe Great Computer Language Shootoutのページには出てない早い処理系が
ある言語もあるしね。
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG機械語
で終了。
0037デフォルトの名無しさん
NGNGつーわけでC。
*******************************************
終 了
*******************************************
0038デフォルトの名無しさん
NGNG***********よって再開*************
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGいや、あってるだろ。
>>38にとってCは理解しがたいコンピュータよりの言語だと言うだけの話だ。
そしてそれは一般人から見れば正しい見解であると思うが。
0041デフォルトの名無しさん
NGNGそんな視点に高級低級の定義を任せるのか?
0042デフォルトの名無しさん
NGNG新説を述べるときは説明責任を果たせ。
00431
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGそれじゃネタ振りとして>>6のサイトにある benchmark を最新の実装でテスト
して報告して下さい。話はそれから。
00461
NGNG私の見たい対戦カード、
ピュアOOPL頂上対決:Ruby vs. Smalltalk
関数型真の頂上対決:Ocaml vs. Scheme (←SchemeはGaucheで)
次世代VM対決:Parrot vs. RubyVM (まだ無理か)
0047デフォルトの名無しさん
NGNGSmalltalk
| 関数型真の頂上対決:Ocaml vs. Scheme (←SchemeはGaucheで)
Haskell
|次世代VM対決:Parrot vs. RubyVM (まだ無理か)
どっちも vaporware なので引きわけ
0048デフォルトの名無しさん
NGNG> 関数型真の頂上対決:Ocaml vs. Scheme (←SchemeはGaucheで)
Haskell とか Clean では無い訳ね?
00501
NGNG0052デフォルトの名無しさん
NGNGエスケープしろよ・・・
00531
NGNG0054デフォルトの名無しさん
NGNGtarai(12,6,0)の結果
(Rubyを1.0とした時の相対速度。小さいほど速い。)
Python2.2.2: 0.50
Ruby1.6.8: 1.00
Perl5.8.1: 1.12
CLISP2.29: 1.80
・・・・・・Pythonマンセー。
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG6 3 0でたらいまわせば?
0057デフォルトの名無しさん
NGNGそうするとはしょりのうまいスクリプトが一番早くなるのか?
まあ、それも早さなんだろうけど…
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGhttp://pike.ida.liu.se/
0061デフォルトの名無しさん
NGNG初めて聞いた。
0062名無しさん@Emacs
NGNGhttp://www.iolanguage.com/comparisons/Performance.html
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGHSPでもいいけど
そろそろPerlに移行したらどうだい?
HSP習得できるなら
CでもC++でも習得できると思うぞ。
言語は言われてるほどそんなに変わらないよ。
0065デフォルトの名無しさん
NGNG0066BAR
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1036013915/
時代はシェル・スクリプト・アクセラレーター
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGそれぞれの言語使った事あるのかな?
漏れはPerlもHSPもRubyも使ったけど
一番、(・∀・)イイ!! と思った言語は、
l i n g o
・・・ああ、でも最速ではないですね。ゴメソ
0069デフォルトの名無しさん
NGNG日本語の文献となると0ではない、つーレベルなんで勧めはしないな。
あと、正規表現まわりはかなり貧弱。
まぁ、画像まわりのライブラリが異常に強力だったりするが。
00701
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGTarai >> x: x <Int> y: y <Int> z: z <Int> ^ <Int>
x <= y ifTrue: [^ y].
^ self
x: (self x: x-1 y: y z: z)
y: (self x: y-1 y: z z: x)
z: (self x: z-1 y: x z: y)
Time millisecondsToRun: [Tarai x: 12 y: 6 z: 0]
=> 0.27 / (ruby 1.8.0 (2003-08-04) [i386-cygwin])
0076デフォルトの名無しさん
NGNG一桁間違えた…。
=> 0.027 / (ruby 1.8.0 (2003-08-04) [i386-cygwin]
0077デフォルトの名無しさん
NGNG対Ruby(1.8)比で0.27か。
Strongtalkって知らなかったけど結構速いね。
0078デフォルトの名無しさん
NGNG爆速ですな。
0079デフォルトの名無しさん
NGNGいい勝負しそうな予感。
0080デフォルトの名無しさん
NGNGGNU CLISP 2.31 (2003-09-01) (Common Lisp インタープリタ)
(defun tarai (x y z)
(if (<= x y)
y
(tarai
(tarai (1- x) y z)
(tarai (1- y) z x)
(tarai (1- z) x y))))
(time (tarai 12 6 0))
=> 1.8 / (ruby 1.8.0 (2003-08-04) [i386-cygwin])
0081デフォルトの名無しさん
NGNG(define (tarai x y z)
(if (<= x y)
y
(tarai
(tarai (- x 1) y z)
(tarai (- y 1) z x)
(tarai (- z 1) x y))))
=> 0.45 / (ruby 1.8.0 (2003-08-04) [i386-cygwin])
0082デフォルトの名無しさん
NGNGgosh 0.31 (gauche 0.7.1)
petite 0.14 (petite chez scheme 6.0a)
0083デフォルトの名無しさん
NGNGTarai class >> x: x y: y z: z
x <= y ifTrue: [^ y].
^ self
x: (self x: x-1 y: y z: z)
y: (self x: y-1 y: z z: x)
z: (self x: z-1 y: x z: y)
Time millisecondsToRun: [Tarai x: 12 y: 6 z: 0]
=> 0.02 / (ruby 1.8.0 (2003-08-04) [i386-cygwin])
Squeak 3.6 (XEROX Smalltalk-80 の派生物の Apple Smalltalk の派生物)
(VisualWorks とコード同じ)
=> 0.2 / (ruby 1.8.0 (2003-08-04) [i386-cygwin])
もっさりとした印象の VisualWorks が Strongtalk 以上のパワーを発揮したのは
意外でした。Squeak はやはり、Smalltalk 勢の中ではへたれてる。
0084デフォルトの名無しさん
NGNG(define (memorize proc)
(lambda args
(let ((x (assoc args *memorize-table*)))
(if x (cdr x)
(let ((result (apply proc args)))
(set! *memorize-table* (cons (cons args result) *memorize-table*))
result)))))
という感じのマクロ用意して
(define tarai
(memorize ;; ←これ追加
(lambda (x y z)
(if (<= x y) y
(tarai
(tarai (- x 1) y z)
(tarai (- y 1) z x)
(tarai (- z 1) x y))))))
(tarai 12 6 0) ;; => 12
でほぼゼロになる。
まあ、メモ化は無しだよね。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNGSmalltalkって結構速いなぁ。見直した。
0087デフォルトの名無しさん
NGNG_AddSlots:
(| taraiX: x Y: y Z: z = (
x <= y ifTrue: [^ y].
^ taraiX: (taraiX: x-1 Y: y Z: z)
Y: (taraiX: y-1 Y: z Z: x)
Z: (taraiX: z-1 Y: x Z: y)) |)
[taraiX: 12 Y: 6 Z: 0] time
=> 0,45 / (ruby 1.8.1 (2003-12-25) [powerpc-darwin])
0088デフォルトの名無しさん
NGNGSqueak はともかくVisualWorksやStrongtalk はネイティブ化してるでそ
0089デフォルトの名無しさん
NGNGてへっ。
0090デフォルトの名無しさん
NGNGfunction tarai(x, y, z)
if x <= y then return y else return tarai(
tarai(x - 1, y, z), tarai(y - 1, z, x), tarai(z - 1, x, y)) end end
=> 0.30 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGlet rec tarai x y z =
if x <= y then y
else tarai (tarai (x - 1) y z) (tarai (y - 1) z x) (tarai (z - 1) x y);;
Printf.printf "%d\n" (tarai 12 6 0)
=> 0.036 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
Gauche scheme interpreter, version 0.7.3
(define (tarai x y z)
(if (<= x y)
y
(tarai (tarai (- x 1) y z)
(tarai (- y 1) z x)
(tarai (- z 1) x y))))
(tarai 12 6 0 )
=> 0.097 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
Gaucheの結果が>>82とかなり違うなぁ。
噂に違わずOcaml速えぇ。
0093デフォルトの名無しさん
NGNGruby 1.8.1 (2003-12-25) [powerpc-darwin]
=> 0.99 / ruby 1.6.8 (2002-12-24) [powerpc-darwin7.0]
でした。
たらいまわし関数については1.6と1.8の実行速度に大きな差はないようだ。
009482
NGNG自作Cインタプリタ 0.029 (直接ネイティブコードに翻訳)
VC7 0.011 (/O2オプションのみ)
結局、0.1より下回るにはJITかネイティブへ変換するしかなさそうで、
VM駆動系は0.3〜0.2なら速い部類、Cのswitch-caseを使った実装では
0.2辺りが多分限界じゃないかと思う。ネイティブ変換しない形で速度を
追求するならforthやpetite-scheme、qscheme等が採用している、
threaded codeの形式にするしかないんじゃないか?
とか書いてたら、
>>92
>Gauche scheme interpreter, version 0.7.3
>=> 0.097 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
なんでこんなに違いが・・
OS・環境にかなり左右されるのか、それとも7.1->7.3で何かあるのか。
009592
NGNGプロセッサ(i386 vs PowerPC)の違いが大きいみたいだな。
>>92のOcamlはネイティブコンパイルしてないし、
GaucheもVMだから、PowerPC系では早いVMなら
0.1を切ることができるみたいなり。
0096デフォルトの名無しさん
NGNGgforth 0.6.2
=> 0.05 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
VM系ではやはりOcamlが最速か?
0097デフォルトの名無しさん
NGNG{
if (x <= y) return y;
return tarai(tarai(x - 1, y, z),
tarai(y - 1, z, x),
tarai(z - 1, x, y));
}
丶────────────v──────────
HEY! YO! slash !!
∧_∧ sh !! sh !!
bin ! (´∀` )
____○___つヾ__
/⊂二⊃/†::† /⊂二⊃ ./|
| ̄::: ̄.| ̄ ̄ ̄| ̄ :::  ̄ | .|
| TARAI | ̄ ̄ ̄|MAWASHI.| .|
0098デフォルトの名無しさん
NGNG実行するバイトコードで計測してあげないと。実際、ロード時に勝手に
コンパイルするオプションがあるわけで、コンパイルした結果つかわない
と気の毒な気がするんだが…。(Ruby が無いので自分では比較できん)
009982
NGNG自分もocaml入れて試してみた。
http://caml.inria.fr/distrib/ocaml-3.07/ocaml-3.07pl2-win-msvc.exe
ここのバイナリからocaml.exe
=> 0.12 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
petite-schemeより少し速い、でもPowerPC程の差はなかった。
やっぱりOSかプロセッサに依存してるみたいね。
つーかRubyがよっぽどヘタる実装なのか。
それにしてもOCaml速えーな。
0100デフォルトの名無しさん
NGNGRubyもVM実装したら最大5倍速くなる可能性があるってことか?
ちなみにPike(7.4.31-Win32-Windows-NT-5.1.2600-i86pc)
=> 0.159 / ruby 1.8.1(2003-12-25)[i386-mswin32]
0101デフォルトの名無しさん
NGNGこんなのもある。
プロセッサごとにdirect,indirect,switchなどのthreaded VMの性能比較。
http://www.complang.tuwien.ac.at/forth/threading-v1/
http://www.complang.tuwien.ac.at/forth/threading/
Pentium系プロセッサはdirect threadedにしてもあまりVM性能があがらないのかな。
0102デフォルトの名無しさん
NGNGGNU CLISP 2.29 バイトコードコンパイル済み
=> 0.14 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
かなり速くなるね。
0103デフォルトの名無しさん
NGNGRubyに 負けたら タライが 落ちる♪
丶────────────v──────────
HEY! YO! slash !!
∧_∧ sh !! sh !!
bin ! (´∀` )
____ゝ つ_つソ____
/⊂二⊃)).†::†../⊂二⊃))/|
| ̄::: ̄.| ̄ ̄ ̄| ̄ :::  ̄ | .|
| TARAI | ̄ ̄ ̄|MAWASHI.| .|
0104102
NGNG0.15 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
でした。
見直したぜ、CLISP。
010582
NGNG(defun tarai (x y z)
(if (<= x y) y
(tarai
(tarai (- x 1) y z)
(tarai (- y 1) z x)
(tarai (- z 1) x y))))
(compile 'tarai) ;; ←これだけで良い?
で、
=> 1.8 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
だった。
ppcは不思議な石だな・・
ところで、taraiだけベンチって意味あるのか疑問に思えてきたが。
010699
NGNG遅いとは思わなかったんで。もつかれさまですた。
0108104
NGNGPetite Chez Scheme Version 6.9b
0.089 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
ですた。
>>105
漏れのは起動時に-Cオプションをつけただけです。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG=> 0.416 / ruby 1.8.1 [i386-cygwin]
ですた。まぁまぁの結果。
0111デフォルトの名無しさん
NGNG: tarai { x y z }
x y <=
if
y
else
x 1- y z recurse
y 1- z x recurse
z 1- x y recurse recurse
then ;
12 6 0 tarai . cr bye
=> 0.02 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
キタ━━━━━━(゚∀゚)━━━━━━!!
0112デフォルトの名無しさん
NGNG|l|___ll||
|l ./カナダライ\
.|/ ̄ ̄ ̄\| <<
\__∧/从
GON ! (´Д` ;)
____γ___つソ___
/⊂二⊃).∪::†./⊂二⊃))/|
| ̄::: ̄.| ̄ ̄ ̄| ̄ :::  ̄ | .|
| TARAI | ̄ ̄ ̄|MAWASHI.| .|
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG他はだいたい出揃ったかな。
0115デフォルトの名無しさん
NGNG>>49
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNGPHP 4.3.2 Zend Engine v1.3.0
<?php
function Tarai($x, $y, $z){
if($x <= $y) return $y;
return Tarai(Tarai($x - 1, $y, $z), Tarai($y - 1, $z, $x), Tarai($z - 1, $x, $y));
}
$r = Tarai(12,6,0);
print "Tarai(12,6,0): $r\n";
?>
1.7 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG試して欲しいなあ。
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGforthはthenの位置とかrecurseがキモイね
相互再帰とかどうなんの?
0122デフォルトの名無しさん
NGNGやりました。スタックオーバーフローで死にました。
再帰じゃないテスト無いの?
0123デフォルトの名無しさん
NGNGhttp://www.bagley.org/~doug/shootout/bench/nestedloop/
これなんてどうだろう?
N = 16 で。
# ruby
n = 16
x = 0
n.times do
n.times do
n.times do
n.times do
n.times do
n.times do
x += 1
end
end
end
end
end
end
puts x
0124デフォルトの名無しさん
NGNGUnderC(1.2.9w)(Win32)
=> 0.266 / ruby 1.8.1(2003-12-25)[i386-mswin32]
…マイナーすぎか。
0125デフォルトの名無しさん
NGNG| n x |
n := 16.
x := 0.
n timesRepeat: [
n timesRepeat: [
n timesRepeat: [
n timesRepeat: [
n timesRepeat: [
n timesRepeat: [x := x + 1]]]]]].
^ x
Squeak 3.6
=> 0.58
/ ruby 1.8.1 (2003-12-25) [i386-cygwin]
Strongtalk 1.1.1
=> 0.24 / 〃
VisualWorks 7.1
=> 0.03 / 〃
0126デフォルトの名無しさん
NGNGわざわざ Ruby インスコしちまったぜ。
(defmacro nest (N nest-level &body body)
(if (<= nest-level 1)
`(loop repeat ,N do ,@body)
`(loop repeat ,N do (nest ,N ,(1- nest-level) ,@body))))
(defun test (&aux (x 0))
(nest 16 6 (incf x))
(print x))
(test)
=> 0.165 / ruby 1.8.1 (2003-12-25) [i386-freebsd4.9]
0127デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGうちは Mac なので無理だけど。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG_AddSlots: (|
nestedLoops: n = (
| x <- 0 |
n do: [
n do: [
n do: [
n do: [
n do: [
n do: [x: x+1]]]]]].
^ x) |)
[nestedLoops: 16] time
=> 0.055 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
0134デフォルトの名無しさん
NGNGマクロを使わずに命令的にそのまま。
(defun nestedLoops (n)
(let ((x 0))
(loop repeat n do
(loop repeat n do
(loop repeat n do
(loop repeat n do
(loop repeat n do
(loop repeat n do (incf x)))))))
x))
(time (nestedloops 16))
=> 5.05 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
(compile 'nestedloops)
(time (nestedloops 16))
=> 0.19 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
0135デフォルトの名無しさん
NGNGそうだったっけ? スマソ。
CMUCL はインタープリタ積んでるはずなんで、それ使ったラッテコとね。
ラッテコって何だろう・・・。
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGfunction tarai(x, y, z) {
if(x<=y) return y;
return tarai(tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y));
}
print(tarai(12,6,0));
=> 3.50 / ruby 1.8.1 (2003-12-25) [i386-win32]
0140デフォルトの名無しさん
NGNGmawkってperlより全然速いんだね。awkファンとして嬉しい。
perlより遅いという評価が定着したのはgnuのせいだ。
0141デフォルトの名無しさん
NGNGlet n = 16
let rec loopF x = function 0 -> x | i -> loopF (x+1) (i-1)
let rec loopE x = function 0 -> x | i -> loopE (loopF x n) (i-1)
let rec loopD x = function 0 -> x | i -> loopD (loopE x n) (i-1)
let rec loopC x = function 0 -> x | i -> loopC (loopD x n) (i-1)
let rec loopB x = function 0 -> x | i -> loopB (loopC x n) (i-1)
let rec loopA x = function 0 -> x | i -> loopA (loopB x n) (i-1);;
Printf.printf "%d\n" (loopA 0 n)
=> 0.054 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
0142デフォルトの名無しさん
NGNGGNU CLISP 2.29 (-Cオプション)
(defmacro nest (N nest-level &body body)
(if (<= nest-level 1)
`(loop repeat ,N do ,@body)
`(loop repeat ,N do (nest ,N ,(1- nest-level) ,@body))))
(defun test (&aux (x 0))
(nest 16 6 (incf x))
(print x))
(test)
=> 0.13 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
0143デフォルトの名無しさん
NGNGgforth-fast 0.6.2
16 value n
: nestedloop
0 n 0 do
n 0 do
n 0 do
n 0 do
n 0 do
n 0 do
1+
loop
loop
loop
loop
loop
loop
;
nestedloop . cr
=> 0.018 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
0144デフォルトの名無しさん
NGNGn = 16
x = 0
for i = 1, n do
for j = 1, n do
for k = 1, n do
for l = 1, n do
for m = 1, n do
for o = 1, n do
x = x + 1
end
end
end
end
end
end
print(x)
=> 0.228 / ruby 1.8.0 (2003-08-04) [i386-cygwin]
0145デフォルトの名無しさん
NGNGこれのruby版が早過ぎるんだが、どういうことなんでしょう
ネエティブコンパイルしたのに勝ったんだが・・・
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGruby版より行数膨らみすぎたけど。
遅延評価の一旦を垣間見た気がした
0148デフォルトの名無しさん
NGNGRuby で速いなら、ほかのではもっと速い?
Squeak 3.6
Tarai class >> x: x y: y z: z
x value <= y value ifTrue: [^ y value].
^ Tarai
x: [Tarai x: [x value - 1] y: y z: z]
y: [Tarai x: [y value - 1] y: z z: x]
z: [Tarai x: [z value - 1] y: x z: y]
Time millisecondsToRun: [Tarai x: [64] y: [32] z: [0]]
=> 0.001 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
速かった…(藁
0149デフォルトの名無しさん
NGNGyの評価を端折ればさらに3倍強(偶然?)。たぶんrubyも一緒。
Tarai class >> x: x y: y z: z
| yValue |
x value <= (yValue _ y value) ifTrue: [^ yValue].
^ Tarai
x: [Tarai x: [x value - 1] y: y z: z]
y: [Tarai x: [yValue - 1] y: z z: x]
z: [Tarai x: [z value - 1] y: x z: y]
0150デフォルトの名無しさん
NGNGLISP カコイイ。
0151デフォルトの名無しさん
NGNGfrom itertools import repeat
n = 16
x = 0
for i in repeat(None, n):
for i in repeat(None, n):
for i in repeat(None, n):
for i in repeat(None, n):
for i in repeat(None, n):
for i in repeat(None, n):
x += 1
print x
=> 0.677 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
微妙・・・
0152デフォルトの名無しさん
NGNGマクロがないので、悔し紛れにクロージャで(^_^;)
VisualWorks 7.2nc
| nestedLoops x |
nestedLoops := [ : n : nestLevel : proc |
nestLevel = 0
ifTrue: [proc]
ifFalse: [
nestedLoops
value: n
value: nestLevel-1
value: [n timesRepeat: proc]]].
x := 0.
(nestedLoops value: 16 value: 6 value: [x := x + 1]) value.
^ x
print it時にいろいろ叱られた末、速度も200%増しでショボーン
かえって分かりにくいし…
0153デフォルトの名無しさん
NGNG>>152
Squeakはブロックで再帰呼び出しができないので、メソッドで
Integer >> levels: n timesRepeat: aBlock
self < 1 ifTrue: [↑ aBlock].
↑ self-1 levels: n timesRepeat: [n timesRepeat: aBlock]
| x |
x ← 0.
(6 levels: 16 timesRepeat: [x ← x + 1]) value.
↑ x
こちらはなぜかちょびっと速くなる。
0154R..y
NGNGマクロなど羨しがるな。みっともない。同じオブジェクト指向な言語として恥ずかしいぞ。
「ループを 6 回繰り返すコードを書け」と書ける事になんの意味があると言うのだ。
オブジェクト指向は構文抽象よりもはるかに高尚でエレガントなのだ。
マクロは使用法によらず常に悪である。なぜならば、マクロはつまりユーザビリティが低いのだ。
マクロを使うとコードはわかりにくくなるからだ。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGreturn body if nest_level < 1
nest(n, nest_level-1) {n.times(&body)}
end
x = 0
nest(16, 6) {x += 1}.call
puts x
0157デフォルトの名無しさん
NGNGわかって書いてるの?どうでもいいけど Ruby が良いのはもう十分理解ましたので
勘弁してください。
0158デフォルトの名無しさん
NGNGだれかマイナー言語のベンチマークで本題に戻して〜
0159デフォルトの名無しさん
NGNGまくろって、つおい?
: nest { n d c }
d 0 do
n postpone literal 0 postpone literal postpone do
loop
c compile,
d 0 do
postpone loop
loop
;
: nestedloop 0 [ 16 6 ' 1+ nest ] ;
nestedloop . cr
=> 0.010 / ruby 1.8.1 (2003-12-25) [powerpc-darwin]
16が即値で展開されるためさらに速くなった。
0160デフォルトの名無しさん
NGNGgforth-fast 0.6.2
でつ。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGdef nested(n):
x = 0
i_r = range(n)
for a in i_r:
for b in i_r:
for c in i_r:
for d in i_r:
for e in i_r:
for f in i_r:
x += 1
print x
じゃ駄目なの?
Python 2.3
=> 0.370 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
0166デフォルトの名無しさん
NGNGもしかして実行時コンパイル?
0167デフォルトの名無しさん
NGNGコンパイル時実行、
・・とForth界隈では呼ばれています。マクロじゃなくて。
でもこの「コンパイル」っていうのは、ForthではVMコード
生成のことを言ってるわけで、ネイティブコード生成ではないです。
gforth自体はVMで動作してます。
0168デフォルトの名無しさん
NGNGてっきり実行時にコンパイルしてるもんだと思ってた…
;; CMUCL で型指定付きでコンパイル
* (time (test))
; Evaluation took:
; 0.03 seconds of real time
; 0.023329 seconds of user run time
; 0.0 seconds of system run time
; 32,939,360 CPU cycles
;; インタプリタ起動時間込みでこれ.
$ time gforth-fast nest.f -e bye
16777216
gforth-fast nest.f -e bye 0.27s user 0.00s system 99% cpu 0.275 total
0169デフォルトの名無しさん
NGNGマジオススメ
と思ったけど日常生活で使うにはやはり厳しい…
0170デフォルトの名無しさん
NGNGForthだとbigForthがネイティブコンパイルできるんですが、
まあ、スレ違いということで。。。。
0171デフォルトの名無しさん
NGNGsee nestedloop
: nestedloop
0 <4212491> <16> 0
DO 16 0
DO 16 0
DO 16 0
DO 16 0
DO 16 0
DO 1+
LOOP
LOOP
LOOP
LOOP
LOOP
LOOP ; ok
ただしプリミティブを見るとnativeコードになってる
see 1+
Code 1+
( $401ABB ) inc ecx \ $41
( $401ABC ) add ebx , # 4 \ $83 $C3 $4
( $401ABF ) jmp dword ptr FC [ebx] \ $FF $63 $FC
end-code
この最後の2行に注目すると、
( $401ABC ) add ebx , # 4 \ $83 $C3 $4
( $401ABF ) jmp dword ptr FC [ebx] \ $FF $63 $FC
direct threaderd codeという方法を使ってるのがわかる。(ebxがpcに相当)
0172デフォルトの名無しさん
NGNGs/threaderd/threaded/
0173159
NGNG>New threaded code execution method: primitive-centric (allows the following),
>hybrid direct/indirect threaded (easier portability), with dynamic superinstructions
> (typical speedup on Athlon: factor 2).
と書かれていてprimitive-centricという新しい手法を使っているらしい。
(詳細不明。。)
0174デフォルトの名無しさん
NGNGいきなりinc ecxとか実行でけるforthがうらやましい。
つーことはecx何某はスタックトップの演算ということかな。
(あんま知らないので間違ってたらすまそ)
0175デフォルトの名無しさん
NGNGスタックトップ(TOS)をレジスタに割り当てるのはVMの高速化の常法。
0176デフォルトの名無しさん
NGNGそうです。型指定しないと generic-function (bignum かもしれないんで)
呼んじゃうので forth より遅かったです。でも良く考えたら最適化コンパイラ
じゃ構造がかわっちゃうかもしんないから >>171 を見てもそもそも比較に
なんないっすね…。
0177デフォルトの名無しさん
NGNGvoid main() {
int n=16;
int x=0;
int a,b,c,d,e,f;
for (a=0; a<n; a++){
for (b=0; b<n; b++){
for (c=0; c<n; c++){
for (d=0; d<n; d++){
for (e=0; e<n; e++){
for (f=0; f<n; f++){
x++;
}
}
}
}
}
}
printf("%d\n", x);
}
cint
=> 0.32 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
0178デフォルトの名無しさん
NGNGたぶん一番早いよコレ。マジすごすぎだわ。
諸事情によりくわしいことはいえないんだけどどれよりも早かった。ほんと。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGたぶん一番早いよコレ。マジすごすぎだわ。
諸事情によりくわしいことはいえないんだけどどれよりも早かった。ほんと。
0181デフォルトの名無しさん
NGNGtarai (640, 320, 0)
module Main where
tarai :: Int -> Int -> Int -> Int
tarai x y z
| x <= y = y
| otherwise = tarai (tarai (x - 1) y z) (tarai (y - 1) z x) (tarai (z -1) x y)
main = print $ tarai 640 320 0
ghc -O2 tarai.hs
./a.out 0.00s user 0.01s system 105% cpu 0.017 total
runhugs tarai.hs
runhugs tarai.hs 3.17s user 0.12s system 89% cpu 3.671 total
# やっぱりhugsは遅い。
0182デフォルトの名無しさん
NGNGhttp://sheepman.parfait.ne.jp/20030418.html#p05
のRuby版は(620, 320, 0)では終わらない。# 所詮偽物。
runhugsは起動だけで0.20秒ぐらいかかるから(12,6,0)で比べるのは
無意味。
0183デフォルトの名無しさん
NGNG>>49
0184デフォルトの名無しさん
NGNGそもそもGHCは実行ファイルはき出すコンパイラだし。
0185デフォルトの名無しさん
NGNGわかってるけど、最近Lazyが云々っていうレスが続いてたからね。
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG全国即日スピード融資。
東京都知事認可済みの消費者金融です。
まずはHPをご覧ください。
http://sunfaina.fc2web.com/
0191デフォルトの名無しさん
NGNGまえ市役所に行ったらたらいまわしにされたけど、
それはおいといて、マジわからん。
0192デフォルトの名無しさん
NGNG>たらいまわし関数って何?
その「何?」って「何の役に立つのか?」って意味か?
・・・何の役にもたたんよ。
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGむかしむかし、タライを回す、おじいさんとおばあさんがいました。
みたいなお話キボンヌ。
つーか、たらいって何?
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG「たらいまわし」は曲芸の名前。曲芸師が仰向けになって、足でタライを回す芸。
時には、二人の曲芸師がタライでキャッボールをすることもある。その様子が
役所などで「たらいまわし」そっくりな為。
なんか最近やけに他人の代わりに Google を使う事が多いような気がする。
こういう時代なのか・・・
0197デフォルトの名無しさん
NGNG芸人の上から降ってくるのが金(かな)だらい
0198デフォルトの名無しさん
NGNGあれは猿回しか
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG,、 ,、
,;''"";、 ! \ / ヽ,
( ( ( O ;, ' `''"''''"'' ゙;.
';, !; ;;
';、 ;;' O O ;! >>199はハムスター。
';, ';, * ┌―┐ ,;
゙:、`:、 _ノ ,.;'
ヽ、 ,,: ヽ
';,. r'⌒''" ';,
,..;、., ヽ,,. ';,,
ノ。o。 ヽ ゙"''‐''" ';,
( ( ;' ○ ;;,!、 ;, ;`';,
`ー‐' -"''-;,,、 ;;i'"""ヽ、ノ ,;
;;, ,;;'⌒`:、,..,,;;''
';, ;;'
(,,_,,_,,ノ
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGすべてにおいて次期 Ruby は最強というわけか。
0204デフォルトの名無しさん
NGNG*次期* かよ…。_| ̄|○ と、いちおうツッコンでおく。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG次期PHP
に続いて、次期Rubyもあるんだな・・・。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGアンインストールすると多くのディストリで不具合が起こったりするからな。最強だ。
0212デフォルトの名無しさん
NGNGそれは最悪の間違いだろ。だいたい最速スレなんだから。
つまり今は遅いけど次期 Ruby の速度大幅アップにより
最速ということでファイナルアンサーだな。
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG信者が実行すると、脳内で時間が加速される仕様があるから。
0215デフォルトの名無しさん
NGNG次 期 と か 次 世 代 と か は ど う で も い い
0216Age.P.Hukai ◆hsp/8n/.as
NGNG0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG英語わからないなら無理して使おうとしない方がいいよ。
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG結論:開発速度は Ruby ガ最速
0221デフォルトの名無しさん
NGNG思わずこっちの方を出荷したいとか思ってしまった。
0222デフォルトの名無しさん
NGNGそれで納品問題も解決
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGうちの仕事でperlなんて使ったらはったおされそうだw
0226デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1074235226/927
の話だろう。妄信って怖いねぇ…。
0227デフォルトの名無しさん
NGNG質も開発速度も良いというだけじゃないかね。
0228デフォルトの名無しさん
NGNGま、この言語をTrackingしているのはオレだけか。
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG早いかどうかは知らん
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGJavaScriptの元になった別の規格があるらしいんだけど、
それにFlashのオブジェクトをガチャコンと結びつけたもの。
基本的にはJavaScriptと同じ
独特のスタイルとしては
deleteでGCによる強制回収が出来たり
色情報はColorでのみなど、専用オブジェクトにハンドラを渡す必要があったり
porototypeを利用したクラスの定義などが出来る
0233デフォルトの名無しさん
NGNGちょっと覗いてみたけど、なんで最近の言語はみんな
英語にちがづけるんだ???
他人が綺麗に書いたソースは読みやすいかもしれんが、
自分が書くときにはこまる。
0234デフォルトの名無しさん
NGNG懐かしいな
0235デフォルトの名無しさん
NGNGthanx!!
ttp://www.webreference.com/programming/javascript/j_s/column2/
ECMAScript 1.0 edition 2 って事は、幾つかの差異を除けば、まんま JavaScript なんだね。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGおめーらは色々とスクリプトを乗り換えて来たと思うけど
やっぱりPerl->Rubyとか多いの?
0239デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG速度より時間の節約だよ
0245デフォルトの名無しさん
NGNGこのスレの趣旨はそれじゃない。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGでもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGPerl perl 15.9688
Python python 15.0060
Pike pike 14.3161
Lua lua 13.3868
Erlang hipe 13.2092
Python psyco 13.0327
Ruby ruby 11.6489
Awk 10.7199
Tcl 9.5188
Bash 6.6484
Emacs Lisp 5.5613
0250デフォルトの名無しさん
NGNGコピペだろ。
相手するとつけあがるぞ。
0251デフォルトの名無しさん
NGNGhipe, psyco って遅いのか。
何のテストしたの?
0252デフォルトの名無しさん
NGNGでもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0253デフォルトの名無しさん
NGNGhttp://shootout.alioth.debian.org/craps.php
のテスト全部の総得点
0254デフォルトの名無しさん
NGNGMLが最強ということでよろしいか。
F# 最強、ということでよろしいか。
0255デフォルトの名無しさん
NGNG上位にいるML系言語実装はスクリプタじゃなくてコンパイラだから
スレ違いじゃないの?
0256デフォルトの名無しさん
NGNGPerlがコンパイラ類と比べてもかなり上位に来るぞ
0257デフォルトの名無しさん
NGNGhttp://www.bagley.org/~doug/shootout/craps.shtml
Language Implementation Score Missing
Cgcc7520
Forthgforth6372
Lualua6152
Pythonpython5780
Perlperl5770
Rubyruby5460
Eiffelse5124
Schemeguile3960
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGC gcc 752 0
Forth gforth 637 2
Lua lua 615 2
Python python 578 0
Perl perl 577 0
Ruby ruby 546 0
Eiffel se 512 4
Scheme guile 396 0
0260デフォルトの名無しさん
NGNGでもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG荒らし報告完了
0263デフォルトの名無しさん
NGNGruby≒C ???
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG正直、あれより遅い言語ってあるの?
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGNo!!
Python >= Perl >>>> Ruby !!!!
0268デフォルトの名無しさん
NGNGって本当?
0269デフォルトの名無しさん
NGNG0270FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNG0274FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0275名無しさん@Emacs
NGNG0276FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0277FeaturesOfTheGod ◆UdoWOLrsDM
NGNGこういう経験は無い?
0278デフォルトの名無しさん
NGNG動的なのがジャマしてるの?
0279デフォルトの名無しさん
NGNGdef tarai(x, y, z) {
if (x <= y) {
return y
} else {
return tarai(tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y))
}
}
println tarai(12, 6 ,0)
8.89 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
遅いとは聞いてたが、まさかここまで・・・
0280デフォルトの名無しさん
NGNG0281279
NGNG2.79 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
速くはなったけど、期待したほどではないな。
ちなみに以下のJavaコードだと、
public class JavaTarai {
public int tarai(int x, int y , int z) {
if (x <= y) {
return y;
} else {
return tarai(tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y));
}
}
public static void main(String[] args) {
JavaTarai tarai = new JavaTarai();
System.out.println(tarai.tarai(12, 6 ,0));
}
}
0.0028 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
まあ当たり前か。
0282デフォルトの名無しさん
NGNGGC の性能改善するくらいかね。
ほとんどすべてのメソッドが再定義できるので、
定数畳み込みすら難しい
(1 + 1 でさえコードを全部調べないと 2 だとは言えない)。
0283279
NGNG事前コンパイル無し 2.83 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
事前コンパイル済み 2.71 / ruby 1.8.1 (2003-12-25) [i386-cygwin]
事前コンパイル無しでの性能が大幅アップ。つうかこれまでが遅すぎた。
・・・たらい回し専用チューニングとかされてないよな(w
0284デフォルトの名無しさん
NGNG開発陣のやる気のなさが垣間見える。
0285デフォルトの名無しさん
NGNGまだ言語仕様自体も固まってない段階だから
最適化は後回しにしてるんだと思う。
0286デフォルトの名無しさん
NGNG2.79とかいう数字は何?
0287デフォルトの名無しさん
NGNG>>54
0288デフォルトの名無しさん
NGNGTnx
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG私はこれでやりました。
def tarai( x, y, z )
if x <= y
then y
else tarai(tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y))
end
end
puts tarai(12, 6, 0)
0291デフォルトの名無しさん
NGNG無限ループとなりませんか?
たとえば、tarai(3,2,1) の場合
0回目:tarai(3,2,1)
1回目:tarai(tarai(2,2,1),tarai(1,1,3),tarai(0,3,2))
=tarai(2,1,3)
2回目:tarai(tarai(1,1,3),tarai(0,3,2),tarai(2,2,1))
=tarai(1,3,2)
3回目:tarai(tarai(0,3,2),tarai(2,2,1),tarai(1,1,3))
=tarai(3,2,1)
となり、最初の値と同じになってしまいます。
0292291
NGNGスルーしてくれ。
0293デフォルトの名無しさん
NGNGC言語で言うclock()か何かあればいいんだけど。
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG間とかが遅いと用途によっては台無しですね。Java とか遅いですし。
皆さん、関数単位での計測なんでしょうか?
0296デフォルトの名無しさん
NGNG0.0028じゃなくて0.028じゃない?
そうじゃないとC系コンパイラより10倍速くなってしまうよ。
0297279
NGNGあと、実行時間はCygwin bash shell上でtime使って測定してます。
0298デフォルトの名無しさん
NGNGphpのソースは汚いなあ(w
$がゴミみたい。
>>141
ナニコレ?
もっと簡潔に書けないの?
>>181
結局haskellとかって、関数の括弧とっぱらたつっても
逆に優先度のための括弧が妙な具合に必要になったりするのね。
なんか本末転倒じゃない?
そういやHSPのソース無いな。
誰か参戦しろよ。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGそんなんでよくゲーム作れるな。
0301FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGスクリプト全体の性能のうち、どの部分が良いのですかね?
rubyが意外に健闘しているのが、意外だった。
0305デフォルトの名無しさん
NGNGrubyが1位でOK?
0306デフォルトの名無しさん
NGNG関数呼び出しのオーバーヘッドかな?
>>305
rubyはむしろ最下位に近いわけですが。
0307デフォルトの名無しさん
NGNG自分は、理工系の数値計算の出身。
低水準言語のFortran及び、スクリプト言語はシェルを使用しています。
これから、勉強するならば、やはりPerlでしょうか?
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG耐えられそうにないならPython, Rubyを検討すべし。
WindowsならVBS。
0310デフォルトの名無しさん
NGNG今は、 perl の次を探している。w
0311デフォルトの名無しさん
NGNGTclで。その次はSchemeで。
0312デフォルトの名無しさん
NGNGスキームは、見たこともないw
0313デフォルトの名無しさん
NGNGおれと逆...
sh+sed+awk -> Perl -> Ruby
んでもってrubyの次さがしてる。
でも、RubyがUnixにデフォルトで入るのはいつだろ。。。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGPHPは、いいよ。
0316デフォルトの名無しさん
NGNGFreeware for Solaris には入ってるよ。
Linux も Redhat は入ってたと思った。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGめんどくさいので未だにtcl/tkですが・・・。
0319デフォルトの名無しさん
NGNG俺もphpは好きだけどイマイチ速度がね…
ココって最速スレだし。
php 4.3.9 Zend Engine v1.3.0
<?php
$n = ($argc == 2) ? $argv[1] : 1;
$x = 0;
for ($a=0; $a<$n; $a++)
for ($b=0; $b<$n; $b++)
for ($c=0; $c<$n; $c++)
for ($d=0; $d<$n; $d++)
for ($e=0; $e<$n; $e++)
for ($f=0; $f<$n; $f++)
$x++;
print "$x\n";
?>
1.66 / ruby 1.8.2 (2004-07-29) [i686-linux]
0320LettersOfLiberty ◆rCz1Zr6hLw
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG自宅鯖のCGIなんかほとんどネイティブコンパイルしたのが動いてるし。
どうでもいいって奴はRubyみたいな最下位彷徨ってる哀れな言語使ってるだけじゃね?
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGきっと >>322 の1行目と2行目は別の話なんだろう。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGJava じゃない?
0331LettersOfLiberty ◆rCz1Zr6hLw
NGNG0332デフォルトの名無しさん
NGNG0333LettersOfLiberty ◆rCz1Zr6hLw
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGそっから最適化を吟味すればいいんじゃないかな。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG0340いなむらきよし
NGNG0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG関数呼出は、案外いいんでない。
構文は嫌いだけどw
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG二番がルビー。
三番がパイソンだろ。
ハスケルとその他には超えられない壁がある。
0345デフォルトの名無しさん
NGNGRubyスレに戻ってください
そして出てこないでください
ゴミ!
0346LettersOfLiberty ◆rCz1Zr6hLw
NGNG初耳だという私は素人?
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNGぱーる、るびー、ぱいそん、ぴーえいちぴー、だけのスレかよ。
0352デフォルトの名無しさん
NGNGググっても「たらいまわし関数は竹内関数デス。意味はないデス」としか出てこねーぞ。
0353デフォルトの名無しさん
NGNG関数呼び出しのオーバーヘッドが計測できる。
自分ならフィボナッチとかマンデルブロとかもう少し意味のある計算させるけどね。
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< くっちゃらはぴはぴ!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< くっちゃらはぴはぴ!
Py厨〜〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」  ̄ / /
0356デフォルトの名無しさん
NGNGキャラクタベースだから大抵の言語で作れるだろうし。
・プレイヤーは@
・モンスターはA-Za-zで、バリエーションは任意。
・地下10Fまでの横80x縦25の大きさの壁に囲まれた迷宮を毎回ランダム生成
下り階段>
上り階段<
壁#
迷宮内の照明や視点は任意。
その他細かいことは適当なアレンジで。
0357デフォルトの名無しさん
NGNGサンキュ。でも再帰とどう違うのかサッパリわかりません。
遅延評価ってのがある言語用のイディオムで手続き型だと再帰と同一視してよいもの?
遅延評価ってのでなぜ高速になるのかもサッパリわからんよ…。難しい。
0358デフォルトの名無しさん
NGNGと極論をかましてみる
0359デフォルトの名無しさん
NGNGこっちでやってくれ。
最強開発速度言語決定戦
http://pc5.2ch.net/test/read.cgi/tech/1068545254/
0360デフォルトの名無しさん
NGNG例えば遅延評価式なら計算可能だけれど、無限再帰してしまう脱出不能な関数を考えてみて
そこで、無限再帰のはまり関数を「十分に重い関数」だと考えてみて。
そうすれば何処が高速化するのか分ると思う。
0361デフォルトの名無しさん
NGNG洩れは、パイパンのほうが(ry
0362LettersOfLiberty ◆rCz1Zr6hLw
NGNG0363デフォルトの名無しさん
NGNG0364LettersOfLiberty ◆rCz1Zr6hLw
NGNGとりあえず、1から、1000000までの整数を、一つごとに改行を入れて表示するプログラムは何で書くのが一番いいかを誰かレポートよろしく。
0365デフォルトの名無しさん
NGNG他の言語がゴミの様だ!
0366LettersOfLiberty ◆rCz1Zr6hLw
NGNG0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGWindows2000 cygwin i686 866MHZ
gcc 3.3.3 O0 0.41
gcc 3.3.3 O2 0.36
gosh-0.8.1 8.74
clisp 5.40
python-2.3.4 17.4
ruby-1.8.1 23.9
perl-5.8.5 61.0
0370デフォルトの名無しさん
NGNGsub tarai
{
my ($x, $y, $z) = @_;
if ($x <= $y) {
return $y;
}
else {
return tarai(tarai($x-1, $y, $z),
tarai($y-1, $z, $x),
tarai($z-1, $x, $y));
}
}
print tarai(12, 6, 0);
0371いなむらきよし
NGNG人生やり直すのはできるだけ早い方がいいキケー!
プログラマーなんて夢は捨てて荷物まとめて国に帰った方がいいキケー!
0372デフォルトの名無しさん
NGNGスクリプト言語に限定すると、オブジェクト指向の方が早いのかねぇ?
タライ回し。
0373デフォルトの名無しさん
NGNG関数をまともに扱えるかどうかだと思う
Perlの関数はまともじゃないからね
0374デフォルトの名無しさん
NGNGいや、逆だろう?
まともに関数を組んでいる方が遅くなると思われ
違う?
0375デフォルトの名無しさん
NGNG>>369
> gosh-0.8.1 8.74
> clisp 5.40
> python-2.3.4 17.4
> ruby-1.8.1 23.9
goshもclispもオブジェクト指向じゃなくて関数型だとおもいますが。
0376デフォルトの名無しさん
NGNG>>373
0377デフォルトの名無しさん
NGNGx86 というわけじゃないけど、perl をコンパイルしたければ
perlcc を使えばいいんじゃないの?
前の仕事で perl でプログラムを書いていたんだけど
どうしても速度が遅くて、だけど C 等で書き直す時間がなかったので、
*.pl を perlcc でコンパイルしたものを実際には使った。
かなり速くなったよ。
以降のメンテは、
・perl スクリプトを修正し、perl のまま単体テスト
・perlcc でコンパイルしてから、生成された方を本番環境にリリース
ってやってたよ。
# なんかはずしたこと言っていたらごめんなさい
0378デフォルトの名無しさん
NGNGそうか? clisp って一応 Meta Object Protocol もあるし
本格的にオブジェクト指向だと思うのだが.
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGほぼ限界まで添削してみた。
sub tarai{
return $_[0] > $_[1] ? tarai(tarai($_[0]-1,$_[1],$_[2]),
tarai($_[1]-1,$_[2],$_[0]),
tarai($_[2]-1,$_[0],$_[1])) : $_[1];
}
print tarai(12, 6, 0);
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGhttp://shootout.alioth.debian.org/
http://dada.perl.it/shootout/
0384デフォルトの名無しさん
NGNG平静を装っているところが痛いw
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGreal engineer は、オブジェクト指向を使わないw
これ定説。
0387デフォルトの名無しさん
NGNGこれ定説。
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGそんなものにオブジェクト指向使ったら(ry
0390デフォルトの名無しさん
NGNG近い将来MSILに特化したオブジェクト指向CPUが出る。間違いない。
0391デフォルトの名無しさん
NGNGw
0392デフォルトの名無しさん
NGNGまぁ、技術者(といってもコンピュータとか分かる系)なら、
変に抽象化するオブジェクト指向は、かえって邪魔というのは良く聞く話。
その証拠に、オブジェクト指向言語で書かれたオブジェクト指向言語って皆無
0393デフォルトの名無しさん
NGNGJythonとかは?
0394デフォルトの名無しさん
NGNG(;´Д`)< すいませんすぐ片付けますんで。
-=≡ / ヽ \_______
. /| | |. |
-=≡ /. \ヽ/\\_
/ ヽ⌒)==ヽ_)= ∧_∧
-= / /⌒\.\ || || (´・ω・`) ←>>721
/ / > ) || || ( つ旦O
/ / / /_||_ || と_)_) _.
し' (_つ ̄(_)) ̄ (.)) ̄ (_)) ̄(.))
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG(;´Д`)< すいませんすぐ片付けますんで。
-=≡ / ヽ \_______
. /| | |. |
-=≡ /. \ヽ/\\_
/ ヽ⌒)==ヽ_)= ∧_∧
-= / /⌒\.\ || || (´・ω・`) ←>>394-395
/ / > ) || || ( つ旦O
/ / / /_||_ || と_)_) _.
し' (_つ ̄(_)) ̄ (.)) ̄ (_)) ̄(.))
0397ChaosicSoul ◆/yaJbLAHGw
NGNG0398デフォルトの名無しさん
NGNG馬鹿向け
C++やJavaは馬鹿にはまだまだ難しい
Smalltalkにしときなさい
0399デフォルトの名無しさん
NGNGいや、それもよく言われることだが、特に向いていると言うわけでもない。
言葉は悪いが、「コンピュータ素人向け」とでもいうのだろうか?
まぁ、目的があって手段を問わない系だね。
# 馬鹿向けは、ワロタ
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNGmain = print (tarai 12 6 0)
tarai :: Int -> Int -> Int -> Int
tarai x y z
| x <= y = y
| otherwise = tarai (tarai (x-1) y z)
(tarai (y-1) z x)
(tarai (z-1) x y)
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG#define tarai(x,y,z) (x<=y)?y:tarai(tarai(x-1,y,z),tarai(y-1,z,x),tarai(z-1,x,y))
0405デフォルトの名無しさん
NGNGそれが何かわからんが、
その手のそれでLISPにかなう言語なんてあるのか。
つか、LISPに関しては噂しか聞いた事無いけど
0406デフォルトの名無しさん
NGNG0407ChaosicSoul ◆/yaJbLAHGw
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGよって国でないものに国力などというものもない。
あると思うならそれは幻想である。
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG中国といい、オブジェクト指向といい、
アフォばっかりwww
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGすでに完成された言語で歴史があるから。
でもスクリプト言語って定義は何なの。要はプログラミング言語の
総称か?それとも....。
0417デフォルトの名無しさん
NGNGインタプリタ
型チェックが緩い
ワンライナーが書ける
純粋であるよりは便利さを志向
などの特徴をより多く持つ言語たち。
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG(付けたし)
ただし、オブジェクト指向を除くw
0420デフォルトの名無しさん
NGNG意味不明にバカなw厨発見
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNGプログラマーの脳みそも試される試練だろうな。
他の言語にいちゃもんつけるぐらいしかできないやつには厳しい。
ちなみに普通の素数の判定では総当りで判定するのはメモリは節約できるが、とてつもなく遅い。
素数全探索であるならば10億まででSharp Note Mobile Athlon 1100+MHz級のCPUで3分切れなきゃ遅いアルゴリズムだと思っていい。
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG関数型言語はありですか?
つか最速言語決めるのにアルゴリズム知ってる奴が言語関係なく勝っちゃう課題にしてどうする
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1068545254/
0430423
NGNGお前が作った総当りプログラムが222293を20000で割れるかどうか試さないことを祈ってる。
>>427
まあ、いいんじゃないか。
>>428
総当り方がメモリにはやさしいがスピードに関してはダメだ、というヒントは出した。
総当り方じゃないアルゴリズムといわれれば、どういうアルゴリズムかおのずと答えが出るよね?
ただし、普通のアルゴリズムでは壁が出てきますが。
0431デフォルトの名無しさん
NGNG424が普通の頭を持ってるとも思えない
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGプログラマならIBMのThinkPad一択。
0434デフォルトの名無しさん
NGNG0435423
NGNGああ、残念。
俺はノートパソコン持っていないんだ。
これは単純素数計算で自称最速をいっている人の記録を参考にしただけ。
もちろんその人のパソコンでの記録。
10億 1分50秒を切る速さ
50億 9分を切る
100億 17分50秒を切る
とのこと。
0436デフォルトの名無しさん
NGNGスレ違い(←スレッドのテーマにそぐわない書き込みのこと)です。
0438デフォルトの名無しさん
NGNG書き方が誤解されやすいんじゃないか?
423は単一アルゴリズムのつもりだけど、文章読むとアルゴリズムに選択の幅があるように思えてしまう。
423で言いたいのは、
・脳みそを試される試練=この課題に最適なアルゴリズムが選べる
・遅いアルゴリズムだと思っていい=最適なアルゴリズムのヒント(基準)
ってことで、その最適なアルゴリズムはおのずと1つになるってことだろ。
その最適な1つのアルゴリズムで、言語決定戦をしとうって話。
俺にはその最適なアルゴリズムは分からんがw
0439デフォルトの名無しさん
NGNG>>素数全探索であるならば10億まででSharp Note Mobile Athlon 1100+MHz級のCPUで3分切れなきゃ遅いアルゴリズムだと思っていい。
アルゴリズムによる速度差が出てくるようなお題では、スクリプト言語処理系の速度比較にならないじゃん。
0440デフォルトの名無しさん
NGNGもまいらも使ってみる事をオススメする
頭がすっきりするぞ
0441423
NGNGじゃあ、ほぼズバリな最適アルゴリズムのヒントを出すよ。
まず紙と鉛筆。1から100まで紙に数字を書け。
まず1は線を引いて消しとけ。そして2に丸をつけろ。
そうしたら2以外の2の倍数の数字に線を引いて消しとけ。
その次の線が引かれていない数字は3だ。丸をつけて、他の3の倍数の数字を消せ。
これを繰り返せ。
これでいいよな?
まだそれ以外の部分でも問題は山積みだがな。
たとえば
10億になると大規模な紙=メモリを消費する。ページングを起こす=大幅な速度低下なので、普通の機種ならページングを起こさない前提で作ること。
とか
掛け算かそれとも足し算か
とか
結局この手の競技は最終的にプログラマーのチューニングの根気も試され、それが秒単位ながらも着実に差が出るわけだが・・・
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGMS の JScript で書いてみたけど、どうやっても 3 分以内は無理そうだな・・・
喪前のアルゴリズムなら 3 分以内でいけるのか?
0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNG例えば、アリストテレスのふるいなんてのはいいとおもうが。
あと、オブジェクト指向もふるっとくか?w
0447デフォルトの名無しさん
NGNG「6k±1の倍数を篩うエラトステネスの篩いで、10億までの素数をファイルに
10進で書き出すってのはどう?」
って書いた方が建設的だったような気がする。
「アルゴリズム工夫してXXXでした」ってのは、スクリプト言語の速度とは関係ないし。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNGint32以下の数値計算の速度しか期待しないけどな。
まあ後は起動速度。
0451デフォルトの名無しさん
NGNG拠点を構え、業績急上昇中!未経験者大募集中!の
ソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/
応援するスレはこちら!
http://school4.2ch.net/test/read.cgi/job/1077432387/
最高の会社にするため、みんな頑張ってます!
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNGmain = print (tarai 12 6 0)
tarai :: Integral a => a -> a -> a -> a
tarai x y z
| x <= y = y
| otherwise = tarai (tarai (x-1) y z)
(tarai (y-1) z x)
(tarai (z-1) x y)
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG【えーっと・・・】
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGperl test.pl
−−−−−−−−−−−−−−−ここから−−−−−−−−−−−−−−−
open IN, "/usr/share/dict/web2";
$i = 0;
while (<IN>) { $i++; }
print "$i\n";
−−−−−−−−−−−−−−−ここまで−−−−−−−−−−−−−−−
python test.py
−−−−−−−−−−−−−−−ここから−−−−−−−−−−−−−−−
f = file('/usr/share/dict/web2', 'r')
i = 0
for l in f:
i += 1
print i
−−−−−−−−−−−−−−−ここまで−−−−−−−−−−−−−−−
ruby (内容に自信なし...) test.rb
−−−−−−−−−−−−−−−ここから−−−−−−−−−−−−−−−
f = open("/usr/share/dict/web2", "r")
$i = 0
f.each_line() {|l|
$i += 1
}
print $i, "\n"
−−−−−−−−−−−−−−−ここまで−−−−−−−−−−−−−−−
0459458
NGNG% time ./test.pl
235882
./test.pl 0.21s user 0.01s system 96% cpu 0.226 total
% time ./test.py
235882
./test.py 0.24s user 0.03s system 96% cpu 0.283 total
% time ./test.rb
235882
./test.rb 1.25s user 0.02s system 97% cpu 1.302 total
ruby が遅い理由が私のタコなプログラムなせいだったら、ごめんなさい。
0460458
NGNG書いてあったので、数値演算 ($i += 1) が遅いのか?
適材適所で切り替えられるといいんだけど...
ちなみに、python で
decimal (2.4) 使用
% time ./test2.py
235882
./test2.py 37.56s user 0.09s system 98% cpu 38.160 total
gmpy 使用
% time ./test3.py
235882
./test3.py 0.58s user 0.02s system 98% cpu 0.612 total
とそれなりに遅くなる。
# decimal 遅すぎ orz
0461デフォルトの名無しさん
NGNGruby版、イテレータが重いみたい。
while ( f.gets ) do
$i += 1
end
のが速い。
それでもperlやpythonより遅かったけど。
あと、rubyは31bitまでの整数は即値で扱ってる。
0462デフォルトの名無しさん
NGNGこれは反則?かなり速くなると思うよ
data = ''; open('/usr/share/dict/web2', 'rb'){|f|data = f.read}
data.concat "\n" if data[-1,1] != "\n"
p data.count("\n")
0463461
NGNGf = open "xxx"
f.readlines
print f.lineno, "\n"
それでもperlより遅いのは何故だ。
perl>>458版
real 0m0.046s
user 0m0.040s
sys 0m0.000s
ruby反則版
real 0m0.054s
user 0m0.050s
sys 0m0.000s
0464458
NGNGサンクスです。やってみました。
% time ./test2.rb
235882
./test2.rb 1.23s user 0.03s system 97% cpu 1.295 total
う〜ん、気持速くなったか...
>>462
こちらもサンクスです。やってみました。
% time ./test3.rb
235882
./test3.rb 0.07s user 0.01s system 99% cpu 0.078 total
速くなったが、perl や python でも「それだったら...」というのがありそう。
>>448 で、数値演算だけでないよ、とあったので、ファイル読み書きでも
やってみようかな、というのが元々の動機なので微妙ですね。
i++ を替えると応用が効くかなと思ってベタベタにしてあるんで...
# 言語に特化した方法で競うのも面白そうですが。
0465461
NGNGreal 0m0.011s
user 0m0.010s
sys 0m0.000s
0466462
NGNG使いこなせるかが鍵だと思う。
0467デフォルトの名無しさん
NGNGそれはそうかも知れないけど、このスレの目的からはずれてるんじゃないかと
0468デフォルトの名無しさん
NGNGすなわちRubyは使い物にならないということでは・・・?
まさか専用イテレーターまで遅いとは思わなかったが。
せめて>>458の単純な繰り返しぐらいは内部で専用ロジックでも用意して
高速に実行できるべきだよね。
悪評高いHSPでもそれぐらいのズルやってるでしょ?
まあ処理が複雑化すればそんなもの無いに等しくなるだろうけどね。
たまにRubyは言語仕様の制限で遅いのは仕方が無い、って言う人がいるけど、
それは言語設計が悪いことを示しているわけだよ。
ライブラリ使って「〜のが速い」って言うのはそのライブラリに完全に依存してるし
それはそのスクリプト言語の速さじゃない。
言い換えればライブラリを適用できない処理は全て遅いということになる。
今後も、その標準ライブラリは肥大化していくのかねえ。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG近年稀に見る低レベルな釣りだな
0472デフォルトの名無しさん
NGNGこれはもう日本発の言語らしく切腹するしかないな
0474デフォルトの名無しさん
NGNGたかだかコンマ数秒の差だろう?
プログラム作る時の時間を考えてみろ、
rubyの方が1億倍ぐらい速いぜ!
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG大抵の場合、速くなくても困らない。
速度がほしいならスクリプト言語じゃなくて C で書くよ。
0478デフォルトの名無しさん
NGNG一瞬で終わるタスクなら差は気にしないけど、数倍の差があると 1時間が数時
間か... 同程度の手間で書けるんだったら、速いスクリプト言語の方がいい
なぁ、となってしまう。
0479デフォルトの名無しさん
NGNG10分で書いて1分で実行が終了するほうがまし
0480デフォルトの名無しさん
NGNG10分で書いて 10分で終了する言語
10分で書いて 60分で終了する言語
どちらを選ぶ?
0481デフォルトの名無しさん
NGNG条件がそれしか提示されて無いなら当然前者を選ぶしか無いけど、
0482デフォルトの名無しさん
NGNG> 479 :デフォルトの名無しさん:04/11/06 17:21:29
> 1時間で書いて1秒で実行が終了するより、
> 10分で書いて1分で実行が終了するほうがまし
これはつまり、C言語よりスクリプト言語の方がよい(場合が
多い)ということだ。
[例]Ruby>>>C言語
> 480 :デフォルトの名無しさん:04/11/06 17:25:54
> 同じ処理を
> 10分で書いて 10分で終了する言語
> 10分で書いて 60分で終了する言語
> どちらを選ぶ?
恐らく、どのスクリプト言語であろうとも、慣れて来れば
それなりの時間でコードを書けてしまう。(大差は無い)
となると、はやりスクリプト言語のなかでは実行速度が早い
ほうが良いということだ。
[例]Perl>>>Ruby
[結論]Perl最強!!
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNG偽 Ruby 厨なんだよね?
ウザいの通り越して、気味悪いんだけど。
Ruby 使っている方々が可哀想だ。
0485デフォルトの名無しさん
NGNGそうやって毎回似た様な処理をするライブラリを1つずつチェックするのか?
速いライブラリ探すのに手間が掛かるよりは
普通に書いた処理が普通に速いほうがいい
実際458から速い方法が見つかるまでかなり時間掛かってるし
この程度の処理を書くのに毎回あんな時間が掛かる様ではヤバイ
0486デフォルトの名無しさん
NGNG○結論
Rubyマジヤバイ
0487デフォルトの名無しさん
NGNG・Rubyは普通に書いたらPerlの4倍遅い。
・開発速度はPerlが5分だとすると、Rubyはその20倍は掛かる。
0488デフォルトの名無しさん
NGNG> 実際458から速い方法が見つかるまでかなり時間掛かってるし
こんな根拠にもならん根拠出してまで必死になっている理由がよくわからん。
0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGまあねえ・・
0492デフォルトの名無しさん
NGNGRubyでPerlと同程度の実行効率を得るにはその20倍の時間が掛かる。
の方が適切かと。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG0495458
NGNGこのスレ的に面白いと思うんだが...
1つの事例でけなしあっても無駄なだけ。
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGなんでそんなに必死なの?・・・・
0498デフォルトの名無しさん
NGNGなるべくRubyが有利になるようにイテレーターを使ったりしていたにもかかわらず。
>>462, >>463が反則コードを書いてやっと追いつくが、
反則では比較にならない。
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG>>458の投稿時間から>>466の結論が出るまで掛かった時間が約1時間半。
Perlと比べて大雑把に20倍は掛かる見積もり。
0502デフォルトの名無しさん
NGNG5分で書いて 0秒で終了する言語
1時間半で書いて 0秒で終了する言語
どちらを選ぶ?
0503デフォルトの名無しさん
NGNGそれでも1時間半。
0504デフォルトの名無しさん
NGNG`cat "/usr/share/dict/web2" | wc -l`
0505デフォルトの名無しさん
NGNGなんか痛いを通り越して電波飛ばしているようにしか見えない。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG>>464の通り、458は他人が提案するまで速い方法を思いつかなかった。
これだけでRubyでの開発は困難だという証明になる。
0508デフォルトの名無しさん
NGNGRubyは無茶苦茶遅い。
それがいいたいんだろ。
0509mu
NGNGいわれたんですけど、あれは間違いだったのかな。
やっぱり Python のほうが Ruby より速いんだね。
0510デフォルトの名無しさん
NGNG比較する意味ないって。
0511デフォルトの名無しさん
NGNGそんなにひまな人が多いわけじゃないからな。
それと、ライブラリと入っても、Arrayオブジェクトだぜ?
普通の配列で、それを使って反則か?
0512デフォルトの名無しさん
NGNG奴の家に乗込め
0513デフォルトの名無しさん
NGNG>>498
0514デフォルトの名無しさん
NGNGI/Oもそれなりにあって、かつ簡単に移植できるベンチマーク、
どこかにないかな。
0515デフォルトの名無しさん
NGNGでは>>458は何故イテレーターを使ったのかな。
おそらくRubyに準拠したスタイルで書きたかったんだろう。
それで遅いのはもはや罪であるとしか言い様がない。
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNGディレクトリツリー全検索して
各ディレクトリ(とそのサブディレクトリ)が保持する
ファイルサイズと割合を表示していくプログラムとか。
0519デフォルトの名無しさん
NGNGhttp://shootout.alioth.debian.org/bench/ary/
0520デフォルトの名無しさん
NGNG↓
カタカタ____ ___
∧_∧ ||\ .\ |◎ |
<.#`Д´> || | ̄ ̄| |:[].|
∧_∧ ┌( つ/ ̄.l| / ̄ ̄/ ..| =|
∧_∧ ( TДT) |└ ヽ |二二二」二二二二二二二二」
( TДT) ( つ つ  ̄]||__) | || | ||
(つ つ / / / / ̄\ / || / ||
と_)_) (___)__) ◎ ◎.[___|| .[___||
∧
/ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 工作員よ、もういいんだ・・・・・・
| 本当に良く頑張った・・・もう充分じゃないか・・・
| 楽になっていいんだ・・・
| 忘れるんだ・・・何事もなかったように・・・・・・
0521デフォルトの名無しさん
NGNGそこを地道に潰してけばpythonぐらいにはなるんじゃないの?
とりあえず>>519が遅い原因でも潰してみようぜ。
0522でしゃばってみる
NGNGプログラムの要素数や行数を比べることのほうが適切だと思う。たとえば、Cだと
#include <stdio.h>
int main(void){
FILE *fp;
int ch;
fp = fopen(fname, "r");
while(1){
ch = fgetc(fp);
if(ch == EOF)break;
putchar(ch);
}
fclose(fp);
}
だいたいこうなるが、bashだと「cat $1」だ。
もちろん、変数名を縮めたり、適切に改行を入れなくても要素数(ifとかwhileとか)で考えるから無駄。もちろん可読性も。
0523462
NGNGRubyのArrayはあまり速くない。処理によってはString#[]の方が速かったりする
>>521
他の言語みたいに書くと洒落にならないほど遅くなるのは事実かも…
俺もCのコードを移植しようとしてとりあえず動く程度を作ってみたら無茶苦茶遅かった。
Rubyスレの面々にはかなわないと思うがちょっとやってみる。
手際は悪いのでしばらく待ってくれ
0524デフォルトの名無しさん
NGNGC言語だって短く書けと言われれば書けるだろ。
#include <stdio.h>
main() { int c; while ((c=getchar())!=EOF) putchar(c); }
bashで1からcat書けと言われたらこうは書けないし。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGそれは「cat $1」とは違う・・・
俺が反論するならCだって↓こうかけるだろといいたいところだ。
int main(int argc, char* argv[]) {
return execlp("cat", argv[1]);
}
使用できるライブラリの話をしだしたらとうてい公平な比較にはならない。
0527デフォルトの名無しさん
NGNGそうじゃなくて要素数だよ。
524のCで思考すると、
1.まず、標準ライブラリを持ってくる。
2.変数cを宣言する
3.取ってきた文字をcに入れて、EOFでない間繰り返す
4.文字を出力する
5.繰り返し終わり
みたいに考える。
対してbashは
1.引数に指定されたファイルを開く
で終わる。
この差が開発時間ではないのか?ってこと
0528デフォルトの名無しさん
NGNGその言語の一番特徴的なコード書いて計測する。
ただそれだけの話だろ。
0529デフォルトの名無しさん
NGNG//encode
#include <stdio.h>
main() { int c,k=0; while ((c=getchar())!=EOF) putchar(key^c),key=c; }
//decode
#include <stdio.h>
main() { int c,k=0; while ((c=getchar())!=EOF) key^=c,putchar(key); }
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGスクリプトの速度を比較するなんて、あんまり意味の無いスレだな。
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNGいや、数行程度のベンチマークプログラムならものによって
Pythonが早かったりRubyが早かったりするが、ある程度の大きさの
プログラムならPythonのほうが遅くなることが多い。
0536デフォルトの名無しさん
NGNG数値計算と Array の要素へのアクセスがほとんどだから
あれよりも速くするのは無理かと。
VM ベースになれば改善されるケースだと思う。
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGn = Integer(ARGV.shift || 1)
x = Array.new(n){|i| i + 1 }
y = Array.new(n, 0)
1000.times do
n.times do |i|
y[i] += x[i]
end
end
puts "#{y.first} #{y.last}"
Enumerable 大好き版。
n = Integer(ARGV.shift || 1)
x = Array.new(n){|i| i + 1 }
y = Array.new(n, 0)
1000.times{ y = y.zip(x).collect{|i, j| i + j } }
puts "#{y.first} #{y.last}"
0539デフォルトの名無しさん
NGNGそうなんだよね。
洩れはrubyつかうけど、やはり遅いと感じるよ。
しかも、文法がメチャ難しいw
0540デフォルトの名無しさん
NGNGこれで、どれぐらい遅くなる???
もとリストでは、かな〜り早いと感じたけど。
0541デフォルトの名無しさん
NGNG> しかも、文法がメチャ難しいw
そうか。まあがんばれ。そのうち初心者を抜け出したときに
なんであんな簡単なので悩んでいたんだろうと思うときがくる。
0542デフォルトの名無しさん
NGNGArray に正順アクセスか逆順アクセスかの違いだけなので
そんなに違わない。
$ time ruby19 -v a.rb 9000
ruby 1.9.0 (2004-11-06) [i686-linux]
1000 9000000
real 0m12.557s
user 0m12.560s
sys 0m0.000s
$ time ruby19 -v b.rb 9000
ruby 1.9.0 (2004-11-06) [i686-linux]
1000 9000000
real 0m13.440s
user 0m13.440s
sys 0m0.000s
0543デフォルトの名無しさん
NGNGだとすれば n.times do |i| を n.downto(0) do |i| に。
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG電車男で801(1ウホッ)
http://pie.bbspink.com/test/read.cgi/801/1099656889/
0546デフォルトの名無しさん
NGNGここ逝け
http://pc5.2ch.net/test/read.cgi/tech/1068545254/
0547デフォルトの名無しさん
NGNGPython厨とRuby厨が仲直りするスレッド
http://pc5.2ch.net/test/read.cgi/tech/1099804004/
0548デフォルトの名無しさん
NGNGそれは分かるけど、測定はあくまでも
その言語にとって一番自然or普通な書き方で勝負するものだ。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNGなら、インラインアセンブラを「標準」と歌えば
催促かい?www
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNGインラインアセンブラが書けるライブラリが
”標準添付”の言語なら別に問題ないだろ?
0554っっっっっっっっっるううううううっっっっっっbっっっっっっっっy
NGNG0555デフォルトの名無しさん
NGNGBorland系なら別にアセンブラを用意しないといけないが・・・
0556デフォルトの名無しさん
NGNGMicrosoft系のスクリプト言語というと JScript とか VBScript とかだけど、
よく知らないけどインラインアセンブラなんて無さそうな感じだよ・・・
それとも別スレの話題かなにか?
0557デフォルトの名無しさん
NGNG今日 PostScript 以外にメジャーな実装が無いか・・・
0558デフォルトの名無しさん
NGNGJruby , Jython, Groovy ...
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG自分で計ったことは無いけど
0561デフォルトの名無しさん
NGNG一版スクリプト言語での最遅言語ってのもオモロいかもなw
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG無意味だろうな。と釣られてみるw
AA略
0564デフォルトの名無しさん
NGNG知らなかった
0565デフォルトの名無しさん
NGNGんなこったーない。
0566デフォルトの名無しさん
NGNG最速って企画でやらせて下から集計すればいいだけの話
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG計った結果晒して!
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGRuby笑っちゃう程遅いよ
0571デフォルトの名無しさん
NGNGネタはいらん。
0572デフォルトの名無しさん
NGNGC > Ruby >>>>>>>>>>>>> C++ >>>>>>>>>>>>>>>>>>>>>>>>> Python >>>>>>>>>>>>>>>>>>>> Java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Perl
0573デフォルトの名無しさん
NGNG速度
Ruby >>>>>>>>>>>>>>>>>>> C >>>>>>>>>>>>> C++ >>>>>>>>>>>>>>>>>>>>>>>>> Python >>>>>>>>>>>>>>>>>>>> Java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Perl
0574デフォルトの名無しさん
NGNGま、groovyよりは速い。それは認める。w
0575デフォルトの名無しさん
NGNG用途によってはPythonよりRubyの方が早いこともある程度。
Rubyはオブジェクト指向優先だから仕方ない。
Pythonとは目指す所が少し違うから。開発の規模も違うし。
JAVAもネイティブJAVAがまともに使えれば…
それでも漏れはJAVA嫌いだからつかわないけどw
で、Perlは、どの辺?全然ダメ?Ruby>Perl位?
個人的に書き殴れるんで好きなんだけどね。
Web限定ならPHPの方がいいですが…
PHPもどの辺か教えてーー
0576デフォルトの名無しさん
NGNGなにを血迷ってるのか分かりませんが
C>>>Python≧Ruby>>>JAVA>>>C++>>>>PHP>>>>Perl
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGマトモなレスだと思ったが、1点突っ込んでおく。
> Rubyはオブジェクト指向優先だから仕方ない。
何故だ?
基本的にオブジェクト指向は好きでないが(思考の邪魔)
速度的には中立な筈だ。
> で、Perlは、どの辺?全然ダメ?Ruby>Perl位?
> 個人的に書き殴れるんで好きなんだけどね。
マジレスすると、Perlはメジャースクリプト言語の中では
上位クラスでしょうな。
# 煽りはスルーでよろしく。
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG実際計ったらこんな感じだった
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGweb開発に特化しているだけあって、webでは使うと楽だよ。
言語の程度はともかくとして。
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNGププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
ププププププププププププププププププププププププププププププププププププププププププププププププププププププ
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG--- 最 高 言 語 R u b y ---
.
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGどうにかしろよ
0594デフォルトの名無しさん
NGNGいたらどうする
0595デフォルトの名無しさん
NGNGいるけど最速だの最高だの最強だのと主張する気はないぞ
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGそうでない人間は道具に従うことになる。
0601デフォルトの名無しさん
NGNG0602ChaosicSoul ◆/yaJbLAHGw
NGNGところで、C言語のインタプリタってどこにあるのですか?
0603デフォルトの名無しさん
NGNGttp://root.cern.ch/root/Cint.html
0604バカのVC
NGNGフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ
フフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ
フフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ
0605デフォルトの名無しさん
NGNG何が原因でしょうか?(いつまでたっても終わらない)
WindowsXPに入れたActivePerlです。
バージョンは
perl -v
This is perl, v5.8.2 built for MSWin32-x86-multi-thread
(with 25 registered patches, see perl -V for more detail)
Copyright 1987-2003, Larry Wall
Binary build 808 provided by ActiveState Corp. http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Dec 9 2003 10:19:40
0606デフォルトの名無しさん
NGNG(12,6,0)じゃなくて(2,1,0)とか
0607デフォルトの名無しさん
NGNG(12,6,0)ではスタック溢れか何かでしょうか?
でもインタプリタのくせにエラー出ないのはおかしいですよね。
Ctrl+Cで止めようとするとアクセス違反のダイアログが出るし。
これはPerlのバグ?
自分内でのPerlの信用度が低下しました。
0608デフォルトの名無しさん
NGNGちゃんとテストしてないのかな。
0609デフォルトの名無しさん
NGNG~$ perl -v
This is perl, v5.8.5 built for cygwin-thread-multi-64int
0610デフォルトの名無しさん
NGNGこの件でActiveStateの信用ガタ落ちしました。
もうあそこのは使わないことにします。
ありがとうございました。
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGおおざっぱですが
ruby 1.8.1 (2003-12-25) [i386-mswin32]は15秒
perl, v5.8.5 built for cygwin-thread-multi-64intは15秒
Gauche scheme interpreter, version 0.8.1 [euc-jp]は3秒
となりました。(WindowsXP Pro Pentium M1.6G)
0613デフォルトの名無しさん
NGNG配列の参照回数が減るから
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNGぜんぜん読めえや(w
速さは言語難易度と比例するのか
06181
NGNG> これって、トリビアの種になりますよね?よろしくお願いします。
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGhellow world と 1〜1000まで合計するプログラムキボン!
0622デフォルトの名無しさん
NGNGアセンブラ最強伝説は揺るがないってことでフジワラ豆腐店〜
0623まとめてやったぞ
NGNG一応Cは除外したが。あとweb限定で考えてるけどいいんだよな?
そうすると JAVA>PHP>Perl>Python≧Ruby
Rubyに関してはオブジェクト指向を速度より優先して作ってるから遅くても仕方ない。
Pythonも速度を気にするならCで書いて、それを読みこめって感じだからね。
最近はJAVAのとこPHPに書き直したりしてるし、そこまで速度は変わらないようだ。
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG勉強せぃってヵ。
0628デフォルトの名無しさん
NGNGグラフ探索とか
ライブラリだけでできない様な処理がいい
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG普段スクリプト言語使ってると、いまさらCで書くのが面倒で馬鹿馬鹿しくなってくるんだよな。
0631提案だ
NGNGそうそう。近未来的なスクリプト言語では、
スクリプト ソースの中に拡張モジュールのコードを埋め込めるのがいい。
実行時に動的にコンパイルしてくれる。
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG拡張モジュールかはともかく、
似たものは既にPerlにあるよ。
0634デフォルトの名無しさん
NGNGRuby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Perl
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG特定環境でしかウゴカネエだろ
0640デフォルトの名無しさん
NGNGどうやってるんだろう!
って、動的な言語なら大したことねーですよ(プ
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNGRuby ?????????>>>>>>>>>>>>>>>>>>>>>>>>>Perl
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGだ〜か〜ら〜
速度が遅いのをオブジェクト指向の性にするなって!
散々既出だろ、アフォ目
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNGワロタw
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGストッパー、師範認定!
0658デフォルトの名無しさん
NGNG普通にコーディングしたきの実行速度って違うよな。
あと、Perl で Inline::C 使うのと、
ネイティブコードになってる外部モジュール使うのって、あんま差ないよな。
0659デフォルトの名無しさん
NGNG前半、比較対象がそもそも違う。
後半、意味不明
0660デフォルトの名無しさん
NGNGCPUに最適化させるとかなり高速化するよな
0661デフォルトの名無しさん
NGNG何の話をしてる?
0662デフォルトの名無しさん
NGNGhttp://www.lib.uchicago.edu/keith/crisis/benchmarks/tak/
0663デフォルトの名無しさん
NGNGPerl 506678 microseconds per iteration
Python 1029786 microseconds per iteration
Tcl 1199482 microseconds per iteration
だったよ
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGベンチマークの差もなくなってくるのかな。
0666デフォルトの名無しさん
NGNGtarai := method(x, y, z,
return if(x <= y, y,
thisBlock(
thisBlock(x-1, y, z),
thisBlock(y-1, z, x),
thisBlock(z-1, x, y))))
tarai(12,6,0)
=> 2.5 / ruby 1.8.1 (2003-12-25) [i386-mswin32]
Ioはこっから落としたやつ
http://www.iolanguage.com/Downloads/
IoDesktop-2004-12-16
0667デフォルトの名無しさん
NGNGここのベンチも2年前のだからあてになんないね
0668デフォルトの名無しさん
NGNGもっと実用的なベンチマークは無いのか?
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGvar s = "", max = 1000000;
for (var i = 0; i < max; i++) { s = cat(s, i); }
0675デフォルトの名無しさん
NGNGLISP インタプリタ
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
05/01/17 02:41:16彼はLISP使いに嫉妬するロートルプログラマー39歳
0679デフォルトの名無しさん
05/03/01 15:36:420680デフォルトの名無しさん
05/03/13 06:53:33貴方もLISP使いに嫉妬するロートルプログラマー39歳
0681デフォルトの名無しさん
05/03/13 07:49:39■ このスレッドは過去ログ倉庫に格納されています