[JavaScript,PHP] スクリプト言語33 [Perl,Python]at TECH
[JavaScript,PHP] スクリプト言語33 [Perl,Python] - 暇つぶし2ch446:デフォルトの名無しさん
13/05/04 01:39:34.14
ぶっちゃけメソッドチェーンは糞だと思うが、
Javaでプラグインをメソッドチェーンで使いたいなら

>>421のJavaライブラリを参考に)
$.children().first().find("book").plugin(MyPlugin.class).map( ~略~

ってやれば出来るだろうね。

これだとクラス名は名前空間があるから
かぶることはないし。

447:デフォルトの名無しさん
13/05/04 01:41:18.33
>>438

org.apache.commons.lang3.builder.ReflectionToStringBuilder

>>446
よくわからんが、毎回pluginなんちゃら.classとか書かないと駄目なのか?

448:デフォルトの名無しさん
13/05/04 01:42:09.78
>>447
書かなくていいよ。
補完されるw

449:デフォルトの名無しさん
13/05/04 01:42:32.76
>>444
AOTでも型が確定してなければ遅いし

>>443
特定のベンチだけ速くてもいみない
C#並ならソースだしてみろよ

あと「ベンチマークはXより速い」ってのは
実績のない言語のお決まりの宣伝パターンなんだよな
node.js推してる奴もそればっかり言ってたわ

450:デフォルトの名無しさん
13/05/04 01:42:39.16
補完って、見た目変わらんのかw
ワロスw

451:デフォルトの名無しさん
13/05/04 01:42:39.53
JS厨よお、ちゃんと使い物になってる言語の話はできないのかい?
Googleの天才言語とか普及してないベンチとか大好きだな。頭大丈夫か

452:デフォルトの名無しさん
13/05/04 01:44:37.26
>>449
asm.jsは型が確定してる

453:デフォルトの名無しさん
13/05/04 01:45:38.57
>>443
ある、というか最近出た
まだ完璧ではないけど
一部計算をマルチスレッドでさせるParallels.js(こっちはまだまだ)と合わせて
JAVAのポテンシャルを抜くことは確実

JAVAはプリミティブ型の扱いを中間コードにする仕方が悪いらしく
そこの部分ではもうだめ

>>449
型を確定させる書き方をするんだよ
a = a|0
ならaはintみたいに
ちったあ調べろ
URLリンク(j15r.com)

454:デフォルトの名無しさん
13/05/04 01:47:25.72
JSが速くなるわけじゃねーじゃん
型を指示する魔改造なんてほかにもある
ただの糞言語

455:デフォルトの名無しさん
13/05/04 01:49:17.92
>>450
ん? pluginってメソッドがそんなに気になる?
これはjQuery UIでも用いられてる方法なんだけど
あっちは.pluginではなく.dialogだけどね。

jQuery UIは機能が多すぎ&似ているため、
jQueryプラグインとしてjQueryオブジェクトにメソッドを生やすと
確実にメソッド名がかぶるだろう。

だから、$( ".selector" ).dialog( "option", { disabled: true } );
のように、.dialogメソッドを介して、.optionメソッドを呼び出している。

自分でjQuery UIのwidgetを作ればわかるよ。
自分で作ったwidgetクラスのメソッドは、このように
dialogメソッドを介して呼び出すことになる。

456:デフォルトの名無しさん
13/05/04 01:49:25.67
C#の型推定の方が万倍マシな件について

457:デフォルトの名無しさん
13/05/04 01:50:31.14
注目を集めるために実績のない言語が宣伝するのは決まってベンチマーク
そのベンチマークもねつ造でした

URLリンク(d.hatena.ne.jp)
boaoa 2013/03/23 12:52
asm.js、大変興味あるのですが
現在asm.js用のサンプルコードをChromeで動かすと
普通のコードよりなんと60倍も遅くなりました
+等の演算子がJITに悪影響を与えるみたいです
そして、そのasmコードをnightlyビルドで動かしてみても、
普通に書いた時コードのChromeと全然変わりませんでした


普通のコードよりなんと60倍も遅くなりました
普通のコードよりなんと60倍も遅くなりました
普通のコードよりなんと60倍も遅くなりました

458:デフォルトの名無しさん
13/05/04 01:50:54.69
asm.jsは型を確定させ、GCを止め、仮想メモリを弄らせるという
鬼畜サブセットだから当然速度はC系に追いつく
当然これを全部で使う野郎はいないだろうが
ライブラリ、特に物理演算やゲームエンジンがサポートしたり
関数単位で使えるから「要所」で使うことで劇的にパフォーマンスがよくなる

459:デフォルトの名無しさん
13/05/04 01:52:33.71
JITは面白いが型指定は周回遅れ

460:デフォルトの名無しさん
13/05/04 01:54:29.29
半日でここまで来るとかお前ら暇だな

461:デフォルトの名無しさん
13/05/04 01:55:21.25
JavaScript使いと
それに嫉妬するその他のスレになってるね。

462:デフォルトの名無しさん
13/05/04 01:56:52.81
>>455
とりあえずそれ別にoptionメソッドじゃないだろ
optionセットしてるだけ

Javaでやるならこうか
$( ".selector" ).plugin(Dialog.class).option(new Option().disable("true"))
まあちょっと冗長だが目をつぶれないこともないか

463:デフォルトの名無しさん
13/05/04 01:59:00.83
>>457
それ、ガチで俺が書いた
興奮気味に書いたからやや大げさだった

FF22じゃなくて23で試してみたらちゃんと早くなったからそこは大丈夫
V8が対応するまで使う気が起きないのは言うまでもないが
それはどんな新機能でも同じ

まずはFFが実験台となって
Parallels.jsとともに精査してほしい
そしてES.nextとぶつかるようなことにならなければ
比較的V8での実装は早いんじゃないかな?

流石に5倍とか早くなるのは大きい
それを書く前に既にV8グループで挙がってたし
早ければ1年後にはってとこかな?

ES7に入る可能性もなくもないかも
そうなったら逆に遅くなるかな

464:デフォルトの名無しさん
13/05/04 02:01:31.38
JS厨が散々すごいと吹聴してた未来ってこれかよ
互換性のための無理やり感がダサすぎw
もうJS厨のこと何も信じられない(胡散臭すぎてはじめから何も真に受けてないけど

465:デフォルトの名無しさん
13/05/04 02:01:49.13
>>463
5倍速くなると言ってもベンチマーク用に用意した
特殊なシチュエーションでそれだけ速くなるだけだと思う
正直、平均的に見たらもう素のJavascriptが5倍程度で収まる気がする

466:デフォルトの名無しさん
13/05/04 02:03:29.01
なぜJS厨は息をするように嘘をつくのか

467:デフォルトの名無しさん
13/05/04 02:03:53.66
じゃあ他の言語に立派な未来があるのかというと「?」
これはもう嫉妬にしか見えない

468:デフォルトの名無しさん
13/05/04 02:05:49.77
型の指定みたいな言語の根幹にかかわるところは
言語の仕様としてきっちり定義しないとダメにきまってる。
asm.jsのようにライブラリで魔改造して別言語にするアプローチは腐ってる

互換性のないコードが一時的に氾濫するだけ。
その後はだれも使わなくなる。

469:デフォルトの名無しさん
13/05/04 02:07:51.88
>>465
特殊なシチュエーションでいいのよ?
だってJSの速度が気になるのって特殊なシチュエーションだけだし

とくに3D周り
WebGLはなんと行列変換をJSでやらないといけないのよ
気持ち悪いでしょ、なんでネイティブで実装してくれないのって
でもasm.jsは特に型付配列を使った演算が高速になるからまさにぴったし

あと個人的にはJSでボードゲーム作ってるんだけど
ほんと、1%でも早くなって欲しいから期待してる

470:デフォルトの名無しさん
13/05/04 02:08:05.73
>>467
なんでキチガイJS厨の「?」な希望的観測に嫉妬しなきゃならんの?頭大丈夫?

471:デフォルトの名無しさん
13/05/04 02:08:30.85
>>462
少し例が悪かったね。自分も少し間違ったし。
optionはメソッド。これは変わらない。

URLリンク(nbnote.jp)
一部抜粋

// ウィジェット定義
$.widget('test.myWidget', {
 // パブリックメソッド
 setContent: function(str) {
  this.options.content = str;
  this._update();
 }
}

この独自作成ウィジットのsetContentメソッドを呼び出す方法はこれ。
$('#myWidget').myWidget('setContent', 'piyo');

× $('#myWidget').setContent('piyo');
こうではない。


$( ".selector" ).dialog( "option", { disabled: true } );
これも同じで、dialogウィジットのoptionメソッドを呼び出す書式。

472:デフォルトの名無しさん
13/05/04 02:10:22.97
JSアンチは自分の言語を誇らしげに語ろうとはしない
なぜ?

473:デフォルトの名無しさん
13/05/04 02:10:57.21
asm.jsのベンチマークのグラフは、素のFFが軒並み素のChromeに大幅に勝ってる時点で
都合のいい状況選んだんだろうな感が満載なんだがw

474:デフォルトの名無しさん
13/05/04 02:11:14.94
単にCと相性が悪い糞仕様を自作の糞言語で尻拭いしてるだけじゃねーか
糞JS固有の問題とかどうでもいいし特に優位性もない

475:デフォルトの名無しさん
13/05/04 02:11:24.93
>>472
叩くのが好きで、叩かれるのは嫌いだからに決まってるだろw

ほら俺の言語を叩いてみろ。何の言語かは教えないけどな!

476:デフォルトの名無しさん
13/05/04 02:12:01.08
>>468
asm.jsはライブラリなんかじゃないよ?
asm.jsという名前がちょっとまぎらわしいかね
言語仕様をきっちり決めた新しい言語で、JSとも互換性があるっていうだけ

477:デフォルトの名無しさん
13/05/04 02:12:54.41
Cソースをemscriptenでasm.js変換したものならかなり有意な効果がある
V8のasm.js対応はわりと簡単そう
これが普及してしまいそうだとAppleとMSはけっこう焦るだろうなあ

478:デフォルトの名無しさん
13/05/04 02:13:15.67
asm.jsはマジキチだが
逆にそれがいいw
ただし現状では、100行を超えるコードのasm化は人間には無理
今はIDEもデバッガも皆無
早急に整備すべし

479:デフォルトの名無しさん
13/05/04 02:13:59.86
>>472
誇らしげに嘘八百を並べる方が理解不能

>>475
さっさとpython叩けよ
あ、関数内関数のスコープがおかしい、でしたっけ?
JSがおかしいだけだったwww

480:デフォルトの名無しさん
13/05/04 02:15:16.88
>>477
> これが普及してしまいそうだとAppleとMSはけっこう焦るだろうなあ
Appleはハード売れなくなるから焦るってのはわかるが、
MSはなんで焦るの?

481:デフォルトの名無しさん
13/05/04 02:15:43.78
asm.jsはできるだけ機械変換するものと思っていたほうがいい
asm.jsを手で書くのはCでasmを書くのと近い

482:デフォルトの名無しさん
13/05/04 02:16:55.81
>>477
簡単そうって何?また希望的妄想ですかw
それしかないな、本当にそれだけ。自分でもそう思うでしょ?
自分の馬鹿さ加減が嫌にならない?

483:デフォルトの名無しさん
13/05/04 02:18:27.03
出たよ。トランスレータがあるからOK
デジャブ感が半端ない

484:デフォルトの名無しさん
13/05/04 02:18:37.80
Pythonは良い言語だから叩かないわ
ブラウザでインタラクティブなことが出来たら良いんだけどね

ちなみにJavascriptの最近のベンチマークな
URLリンク(d.hatena.ne.jp)

485:デフォルトの名無しさん
13/05/04 02:19:31.05
>>473
マイクロベンチではFFの方が早い
V8はアプリ単位になると早くなる
URLリンク(kripken.github.io)
URLリンク(kripken.github.io)

486:デフォルトの名無しさん
13/05/04 02:20:02.69
>>483
トランスレータがあるからOKなんじゃなくて、
そもそも最初からトランスレーターで変換することを想定してるの
それがasmという名前がついてる理由

487:デフォルトの名無しさん
13/05/04 02:22:39.48
>>484
すごいな

URLリンク(d.hatena.ne.jp)

さて、ぶっちぎりで速いのが Scheme48 のコンパイルバージョン。
なんと 0.004sec。ただこれはタネがあって、コンパイル時に関数を評価して
フィボナッチ数を算出しているためです。したがって、コンパイルがインタプリタで
実行するのと同程度の時間がかかります。ただ、コンパイル時に評価できる
関数は評価してしまうというアプローチは関数型言語の特性をうまく生かした良い方法だと思います。

Scheme48 を除いたら、Java がトップでした(追記:[2012/12/30] Haskell の
型宣言を指定したら、Jhc に抜かれてしまいました)。JIT が効いているのは当然として、
Java VM の動作や実装を熟知している身としては、よくこんな短時間で
ブートストラップクラスを初期化できるものだと感心してしまいま
Oracle の最新の Java VM を使えば、速くなるんじゃないでしょうか。いやはや。

488:デフォルトの名無しさん
13/05/04 02:23:09.04
メンヘラの妄想に付き合うの疲れるなあ
脱洗脳のカウンセラーとかの辛さがわかる
現実に生きてない。都合の悪い話が聞こえてない
さっさとCのコードをこの場で変換してみせろ!

489:デフォルトの名無しさん
13/05/04 02:23:51.79
C (gcc -O2) 1.18
JavaScript (node.js) 2.62

速いwww
もう下手な静的言語並みになってるw

490:デフォルトの名無しさん
13/05/04 02:24:53.21
たしかV8のグループでは
Node.jsとかが挙がってた

ブラウザの中だけで考えると押しが弱いけど
これからJSは広がっていくし
例えば昨今ではモバイルOSの「ネイティブ」として使われ始めたところを見ると
V8も気にはなると思う

あと、asm.js部分は基本的に特定のエンジンに依存しない形になってるらしい
というか既存のコンパイラの上にasm.jsコンパイラが乗る形
だから多分V8での実装は困難ではないはず

491:デフォルトの名無しさん
13/05/04 02:26:40.56
もう希望的観測はいいから…
お願いだから確認した事実を喋ってくれ、お願いだから…

492:デフォルトの名無しさん
13/05/04 02:27:54.77
確認した事実・・・。

JavaScriptはここまで広く使われている。

493:デフォルトの名無しさん
13/05/04 02:27:55.09
>>489
単純な四則演算はもう十分に早いよ
でも実物になるとまだCの10倍遅い

JITの限界とか、GCとか、メモリアクセスとかがネックになってるらしい
もうここいらで限界みたい
そこを改善して実物でもCの2倍の実行時間で済ませようとするのが
asm.jsサブセット

494:デフォルトの名無しさん
13/05/04 02:29:12.50
長文で妄想垂れ流したいだけならブログでいいと思うよ
デタラメで本人すら確認のしようもない、再現性もないことで議論とか無理だし
だからこそいくらでも大きなことが言える。ログが誇大妄想で埋まってる

495:デフォルトの名無しさん
13/05/04 02:29:12.84
>>44
f(i % 2) {

496:デフォルトの名無しさん
13/05/04 02:30:58.35
嘘をついているという自覚がないっぽいのが本当に怖い

497:デフォルトの名無しさん
13/05/04 02:31:10.91
確認した事実 ↓
Python (CPython) 53.651

498:デフォルトの名無しさん
13/05/04 02:32:07.97
C言語というJavaScriptとは全く違った文法から
asm.jsの力を借りてブラウザで実行するコードを生成できる

ということは、JavaScriptを改良した言語から
asm.jsの力を借りてブラウザで実行するコードを生成できるということでもある。

JavaScriptを進化させるのにブラウザのバージョンアップを
またなくて良くなる世界ができつつある。

499:デフォルトの名無しさん
13/05/04 02:33:27.08
でもこれだけJSの高速化が盛んになってくると気軽に書けなくなる

if(i % 2)

if(i % 2 == 1)
ってどのくらい違うのか

でも将来の賢いコンパイラにとってはどちらも同じ意味にとられるかもと考えてしまう
これは大げさな例だけど本当に難しい

500:デフォルトの名無しさん
13/05/04 02:36:29.15
昔はVBが一世を風靡していたとき、
GUIは作るのが簡単なVBで
速度が必要な場合はC++でDLLを作る。
という手法が使われていた。

それと同じ構図がブラウザの世界にもできつつある。
JavaScriptはブラウザで動くGUIを作るのが簡単である。
だからJavaScriptでの開発というのはこれからもメインになるだろう。
そして速度が必要な場合のみ、他の言語で開発することもある。

501:デフォルトの名無しさん
13/05/04 02:38:33.70
>>493
単純な四則演算ではない実物ってのがよくわからない
再帰のフィボナッチはスタック使いまくりだよね
スタック領域のアクセスは良いけどヒープが駄目ってこと?

502:デフォルトの名無しさん
13/05/04 02:39:23.21
V8の登場以降からブラックボックス度は高まりつつあるよね

今では内部的にintを使うとか当たり前だし
それを考えると

for(i=2^31-1; i>=0; ++i) //iはfloat型と推論される

for(i=2^31; i>=0; ++i) //iはint型と推論される
の違いとかきになる

あとなんかfor文は結構書き方によって最適化されてるらしい
iが0からじゃなくて10からとかだと特別な意味があるのではと思われるという「噂」もあるくらい

503:デフォルトの名無しさん
13/05/04 02:40:28.29
まーた始まった。無知が自分に酔いしれて一人妄想を語る
テキトー言うだけならブログでやれよキチガイ

504:デフォルトの名無しさん
13/05/04 02:41:51.85
もうスレ半分使っちまったのかw

505:デフォルトの名無しさん
13/05/04 02:42:16.55
>>500には言葉が通じず対話が不可能で一切の意味のあるレスをしないから害悪でしかない

506:デフォルトの名無しさん
13/05/04 02:44:57.13
>>501
すまん、正直にいうと詳細はわからん

でもこの手のマイクロベンチだといつも2,3倍だが
大きなベンチになるとCの十数倍になるのを多く見てきた

URLリンク(kripken.github.io)
URLリンク(kripken.github.io)

asm.jsの説明によると
型チェックやGCが遅くしてる原因らしい
それでたしかasmはMath関数にも手を入れたり追加してるんだっけか
そのあたりがネックなんだと思う

あとasmでは型付配列をよく使う
そこもいくらか最適化されてるらしい

507:デフォルトの名無しさん
13/05/04 02:45:55.49
もう嘘しか言わないキチガイJS厨の相手をするのはよそう。時間の無駄だ
中身は空っぽの荒らしスクリプトなんだから。もちろんJSで記述されててバグがてんこ盛り

508:デフォルトの名無しさん
13/05/04 02:48:02.13
@A = 1..10;
@x = map {$_ * 2}
     grep{$_ % 2 == 0} @A;

509:デフォルトの名無しさん
13/05/04 02:49:07.77
確かに>>500はちょっと間違ってるな
VBは遅かったが、Javascriptは十分に速い
速度が必要な場合にもJavascriptを使うことが多くなる
他の言語で書くようになるとか妄想はブログでやって欲しい

510:デフォルトの名無しさん
13/05/04 02:49:18.23
JSの話をやめた所で他の言語の話をする奴がいなさそうなんだが……

511:デフォルトの名無しさん
13/05/04 02:51:50.40
>>507
> もう嘘しか言わないキチガイJS厨の相手をするのはよそう。時間の無駄だ

消える宣言した以上、ちゃんと消えろよな。

レスなんかしたら見苦しいぞ。



よし、キチガイが消えたw

512:デフォルトの名無しさん
13/05/04 02:51:58.75
JavaScriptはあとはメモリアクセスだよなあ
せめてピットボードを用意して欲しい
その辺が自由になれば巨大数の問題とか解決できるのに
あとは演算子オーバーロードだな

513:デフォルトの名無しさん
13/05/04 02:53:38.99
>>510
別に無理に伸ばす必要ない
JS厨が荒らすだけのスレならJSスレに行ってくれ。邪魔
特にブラウザの話しかできないやつ見ると明らかに他のスクリプト言語から浮いてる
というかWebは板違いじゃね。日常で使うスクリプトという話は皆無
もういいよJSの話は。次スレから外して問題ない
イキイキと荒らす馬鹿が目障り

514:デフォルトの名無しさん
13/05/04 02:54:47.54
ピットボード?
さっきのボードゲーム作ってる奴でビットボードと間違えたとか?

515:デフォルトの名無しさん
13/05/04 02:55:07.15
スクリプト言語からWebやWebサーバーを取ったら……

516:デフォルトの名無しさん
13/05/04 02:55:14.34
>>508
@A=1..10;
@x=map{$_ %2 ? () : $_*2} @A;

再帰や遅延評価を使うまでもないリスト処理は面白くないんだよね…

517:デフォルトの名無しさん
13/05/04 02:55:57.32
Webはちゃんと板があるし
ブラウザは共通の話題ないし比較もできない

518:デフォルトの名無しさん
13/05/04 02:56:16.36
>>513
> JS厨が荒らすだけのスレならJSスレに行ってくれ。邪魔

毎回思うんだけど、そんなこと言っても
いうこと聞くわけ無いだろう?

519:デフォルトの名無しさん
13/05/04 02:57:08.98
>>513を苦しませるには
JSの話題をどんどんやったほうがよさそうだw
自分からやられて嫌なことを語るなんて
馬鹿だなぁ。

520:デフォルトの名無しさん
13/05/04 02:57:27.51
>>518
そうだよ。JS厨は死ぬまで己の馬鹿を晒し続ける

521:デフォルトの名無しさん
13/05/04 02:57:35.07
すまんww
ビットボードと入力してもピットボードになってしまう
GoogleIME

522:デフォルトの名無しさん
13/05/04 02:57:58.03
>>513
普通に言語の速度とか、node.jsとか、科学計算とか、クロージャとか
内包表記とか、Javaの話とかPythonの話とか
ブラウザ以外の話も豊富じゃん

523:デフォルトの名無しさん
13/05/04 02:59:45.56
>>522
奴には見えてないのですよ。
標的意外なにもね。

524:デフォルトの名無しさん
13/05/04 02:59:51.38
>>519
論破されたから悪意を持って荒らすだけのゴミになったんだよね
ゴミすぎる自分をどう評価してる?いきる価値ないと思うよね。死んで良いよ

525:デフォルトの名無しさん
13/05/04 03:01:02.15
というか他の言語って何が原因で遅くなってるの?
ただ高速化の需要が少ないだけ?
JSでエンジン作った方が早そうな勢いなんだけど

526:デフォルトの名無しさん
13/05/04 03:01:08.04
>>524
死んでいいよと言われても死ぬわけないしw

お前の願い、死んでほしい?

残念、お前の願いは棄却されましたぁぁぁw

527:デフォルトの名無しさん
13/05/04 03:01:51.39
>>523
本当に妄想以外で議論が出来るなら、JS厨はなんで嘘で荒らし続けるわけ?
どうせJSのことも何も知らないんだろ。幻想を語るだけなら黙ってろ

528:デフォルトの名無しさん
13/05/04 03:02:16.46
>>524
端から見てるとお前も悪意持ってて怖いわw
今までJS厨は人の中傷はあまりしてなかったが、519の人が
やり始めたな

529:デフォルトの名無しさん
13/05/04 03:02:28.00
お前が嘘だというのが
間違いなだけだろ。
冷静になれよ。

530:デフォルトの名無しさん
13/05/04 03:04:04.81
URLリンク(d.hatena.ne.jp)
とかみるとPerlがこんなに、PHPよりも遅いのが意外
Perlと言えば歴史ある言語だし
その正規表現は今なお他の言語(JSも)に影響を与えている
素晴らしい言語なのになぜ計算は遅いのか?

531:デフォルトの名無しさん
13/05/04 03:05:24.12
>>530
だって開発者がPerl6なんてやってて
Perl5は放置状態だもの。

532:デフォルトの名無しさん
13/05/04 03:06:00.32
>>529
そうだな、嘘でも本当でもない、不確定のゴミ情報
というかお前の存在自体がゴミ。1つもまともな情報を出さずにオナニーしてるだけ
醜すぎるわ。反論できる?

533:デフォルトの名無しさん
13/05/04 03:06:22.45
>>530
何かどうでもいい話
性能なら別の手段つかうさ

534:デフォルトの名無しさん
13/05/04 03:07:28.74
>>532
面倒くさいやつだなw

お前はキチガイ。反論できる?

535:デフォルトの名無しさん
13/05/04 03:07:44.25
>>525
他の言語も頑張ってる
V8作ったGoogleが天才すぎるだけ

536:デフォルトの名無しさん
13/05/04 03:10:20.95
>>534
できないね。お前みたいなゴミカス荒らしに唯一構ってるんだからな
普通の人間はヤバいキチガイを見たら邪魔だなあ、早くどっか行けと思いつつ関わらない
お前はそう思われてるんだよ。分かるか?なんで荒らすんだ。妄想なら他所でやればいいじゃないか

537:デフォルトの名無しさん
13/05/04 03:11:18.10
Googleが頑張ってほかの言語エンジンも改良すれば世界が良くなるな

538:デフォルトの名無しさん
13/05/04 03:11:53.35
>>536
残念、またしても
お前の願いは叶えられなかったw

539:デフォルトの名無しさん
13/05/04 03:12:10.97
V8の開発してるのは以前はSunでJavaのJITのVMの開発で活躍してた人だと思った
JIT関連のノウハウで圧倒的に先行してるんだろう

540:デフォルトの名無しさん
13/05/04 03:12:54.30
>>536
ならスルーしろよ
というか、Google天才とか言ってるのはそいつじゃねーからw
お前が誰彼構わずアタックするからこうなっちゃんたんだぞ

541:デフォルトの名無しさん
13/05/04 03:13:46.51
>>536
北風と太陽

よそにいけといえば言うほど
このスレにいることになる。

逆にここにいろと言ったほうがいいよ。

そう言ったとしてもここにいるわけだけどなwww

542:デフォルトの名無しさん
13/05/04 03:14:51.46
>>538
俺の願いじゃなくて、みんなの願いね
心配しなくても、お前の願いであるみんなの迷惑になる行為を続けることは毎日叶えられる
良かったな。もう誰もお前がまともなんて思わない
JS厨の詐欺にはかからない

543:デフォルトの名無しさん
13/05/04 03:15:46.09
アンチJS厨が一番うざい。
だからみんな誰もお前にレスしてないんだぞ?

544:デフォルトの名無しさん
13/05/04 03:15:54.79
Goの開発もベル研にいた有名な人たちが参加してるね

545:デフォルトの名無しさん
13/05/04 03:16:24.75
まとも面したJS厨がいかにキチガイか周知できれば十分

546:デフォルトの名無しさん
13/05/04 03:16:30.42
さて、またJavaScriptの話でもしますか。

547:デフォルトの名無しさん
13/05/04 03:19:07.64
最近どんなプラットフォームでも
HTML+CSS+JavaScriptを使うことが標準的になっている。

これらは一例。

Google Chrome add-ons
Mozilla XUL apps and Firefox extensions
Firefox OS apps
Chrome OS apps
Windows 8 Store (“Modern/Metro UI”) apps
BlackBerry 10 WebWorks apps
PhoneGap/Cordova apps
Apple UIWebView class
Microsoft WebBrowser control
node.js (combined with jsdom or similar)

548:デフォルトの名無しさん
13/05/04 03:20:29.60
>>544
各会社から、有名な天才達がGoogleに集まってきているってことだな
Pythonの作者もちょっと前までGoogleだったらしい
今は脱退したようだが

549:デフォルトの名無しさん
13/05/04 03:23:46.29
現在広く普及している、スマホ、タブレットはもちろんのこと
テレビでもJavaScriptが動く時代だからな。

550:デフォルトの名無しさん
13/05/04 04:19:23.91
例のアンチが消えた途端静かになったなw

551:デフォルトの名無しさん
13/05/04 04:25:52.97
なんか寂しいな
俺も寝るか

552:デフォルトの名無しさん
13/05/04 04:42:23.52
どんな言語を使おうと避けられないウェブ化によってHTMLが
ユーザーインターフェースになるのは避けられなかったわけで。

jQueryが一番うまくHTMLを扱えたことが
JavaScriptの大ヒットに繋がったんだろうな。

553:デフォルトの名無しさん
13/05/04 05:16:59.66
多分Googleのお陰が50%だと思う
やっぱり再注目のきっかけになったのは
検索とかマップのAjaxだし

554:デフォルトの名無しさん
13/05/04 07:19:47.60
>>539
そんな奴があんな中二っぽいコード書くのか?

555:デフォルトの名無しさん
13/05/04 07:27:41.67
>>554
どんなコード?って聞かれて
答えられないなら、そんなこと言い出すなよ

556:デフォルトの名無しさん
13/05/04 09:13:59.47
>>530
PythonでCython使って書いたら相当速くなった(53.98 -> 2.63)
こんな感じに、Perlにも高速化の手段があるんだろう

ソースコードはこれ

cimport cython

cdef fib(int n):
    if n < 2: return n
    return fib(n - 2) + fib(n - 1)

print(fib(38))



実行結果はこれ(CPython版との比較)

$ time python fib.py
39088169
python fib.py  53.82s user 0.04s system 99% cpu 53.983 total

$ time python fibc.py
39088169
python fibc.py  2.61s user 0.02s system 99% cpu 2.635 total

557:デフォルトの名無しさん
13/05/04 09:16:22.92
さすがに悔しいからってPythonじゃない言語を持ち出されても
「int n」でバレるぞw

558:デフォルトの名無しさん
13/05/04 09:17:55.49
せめてCythonでググれよ……

559:デフォルトの名無しさん
13/05/04 09:22:18.87
wikipediaより
>Cython は、C言語によるPythonの拡張モジュールの作成の労力を軽減することを
>目的として開発されたプログラミング言語である。
>その言語仕様はほとんど Python のものと同じ (上位互換) だが、Cの関数を直接呼び出したり、
>C言語の変数の型やクラスを宣言できるなどの拡張が行われている。

Pythonじゃない別言語じゃん
TypeScriptを持ち出してJavaScriptはええって言ってるようなもん

560:デフォルトの名無しさん
13/05/04 09:22:49.55
CythonはPythonに型注釈を追加したような言語で、
コンパイルしてPythonのC言語拡張を作る事が出来る

Cythonで書かれた関数やクラスはPythonから呼び出す事ができるし
Pythonで書かれた関数やクラスをCythonから呼び出す事もできるよ

561:デフォルトの名無しさん
13/05/04 09:25:31.15
>>559
Pythonの上位互換って書いてあるだろ
ここ遅いから速くしたいなーってなったら型を書けば良い感じ
で、C言語拡張にコンパイルするから、普通のCPython処理系で動く

562:デフォルトの名無しさん
13/05/04 09:48:47.64
>>556で関数の戻り値の型を書くのを忘れてたので、

cdef int fib(int n):

に変えて実行してみたら、もっと速くなった


$ time python fibc2.py
39088169
python fibc2.py  0.08s user 0.01s system 95% cpu 0.098 total

563:デフォルトの名無しさん
13/05/04 09:54:22.94
C のコードはどこまで減らせるんだろうね
Python 界隈はそこらへんの問題に極めて意識的だけど

>>559
自分も別言語だと思う。Python のサブセットである RPython ならともかく

564:デフォルトの名無しさん
13/05/04 10:12:13.17
>>560-561
つまりCに変換できるようにしたTypeScriptみたいなもんじゃん
TypeScriptをCやasm.jsに変換したらそりゃ速いよ

>>562
これ最適化でコンパイル時に値を計算したっぽいな

565:デフォルトの名無しさん
13/05/04 10:15:36.41
>>564
> これ最適化でコンパイル時に値を計算したっぽい

print(fib(38))をコンパイルに含めずに
実行時にPython側からfib(38)を呼び出しても同じ

566:デフォルトの名無しさん
13/05/04 10:19:10.38
>>565
良く分からないんだけど、コンパイル時に計算していないのに、
Cの数十倍速いってこと?

ちょっと良く分からない現象だね
何かタネがあるんだろうけど

567:デフォルトの名無しさん
13/05/04 10:26:25.09
>>566
こちらの環境でC(gcc47 -O2)を実行した場合

$ time ./a.out
39088169
./a.out  0.25s user 0.00s system 99% cpu 0.257 total

568:デフォルトの名無しさん
13/05/04 10:27:02.43
>>566
こちらの環境でC(gcc47 -O2)を実行した場合

$ time ./a.out
39088169
./a.out  0.25s user 0.00s system 99% cpu 0.257 total

569:567
13/05/04 10:34:54.74
連投すまん
実行環境が違うのか、Cの速度も>>530と全然違うね
同じソースコードを使ったんだが

つまり、CPythonの速度がむちゃくちゃ遅い……?Python3.2なんだけど

570:デフォルトの名無しさん
13/05/04 10:51:19.53
最後に、比較用にnode.js(v0.10.4)

$ time node fib.js
39088169
node fib.js  1.06s user 0.03s system 100% cpu 1.080 total

571:デフォルトの名無しさん
13/05/04 11:06:43.12
なんだろう
Cの計算自体がすぐ終わりすぎて計測誤差が大きいのかな
何度もループさせないと駄目か

572:デフォルトの名無しさん
13/05/04 11:19:59.98
node.jsはCの4倍程度か
たいしてPythonは200倍か
遅すぎワロス

573:デフォルトの名無しさん
13/05/04 12:01:45.29
うちでもやってみた。Cython の使い方間違ってたら指摘してくれると助かる

% cat fib_c.c
#include <stdio.h>
int fib(int n) {
if (n < 2) return n;
return fib(n - 1) + fib(n - 2);
}
int main(void) {
printf("%d\n", fib(38));
return 0;
}
% gcc -o fib_c fib_c.c
% time ./fib_c
39088169
./fib_c 1.12s user 0.00s system 99% cpu 1.125 total

つづく

574:デフォルトの名無しさん
13/05/04 12:03:22.85
つづき

% cat fib_py.pyx
cimport cython
cdef fib(int n):
if n < 2: return n
return fib(n - 2) + fib(n - 1)
print(fib(38))

% cat setup.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
cmdclass = {'build_ext': build_ext},
ext_modules = [Extension("fib_py", ["fib_py.pyx"])]
)

% python setup.py build_ext --inplace
[...]

% time python -c "import fib_py"
39088169
python -c "import fib_py" 3.87s user 0.01s system 99% cpu 3.894 total

575:デフォルトの名無しさん
13/05/04 12:12:14.16
>>562みたいに、戻り値の型を書くともっと速くなる?

576:デフォルトの名無しさん
13/05/04 12:22:55.70
pythonが200倍遅いからって、他の言語に頼るとは、、、
python厨には失望した

577:デフォルトの名無しさん
13/05/04 12:25:49.15
>>575
うっかりしてた。戻り値記述して再トライ

% cat fib2_py.pyx
cimport cython
cdef int fib(int n):
if n < 2: return n
return fib(n - 2) + fib(n - 1)
print(fib(38))

% cat setup2.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
cmdclass = {'build_ext': build_ext},
ext_modules = [Extension("fib2_py", ["fib2_py.pyx"])]
)

% python setup2.py build_ext --inplace
cythoning fib2_py.pyx to fib2_py.c
[...]

% time python -c 'import fib2_py'
39088169
python -c 'import fib2_py' 0.56s user 0.02s system 99% cpu 0.577 total

% cat fib2_py.c
[...]
__pyx_r = (__pyx_f_7fib2_py_fib((__pyx_v_n - 2)) + __pyx_f_7fib2_py_fib((__pyx_v_n - 1)));

578:デフォルトの名無しさん
13/05/04 12:57:07.99
常識レベルの話として長いコードをここに貼るな
それがある外部リンクだけで良いから

579:デフォルトの名無しさん
13/05/04 13:01:53.10
node.jsより速いという結果は貼るな
遅かった場合だけ貼れ

580:デフォルトの名無しさん
13/05/04 13:13:35.96
cythonってpythonの拡張モジュール書いたりできるんだろ?
あれ、これってasm.jsという糞言語で高速化したいところを局所的に書けばいい
と言ってたのと同じじゃね。遅れてね?ただの後追いじゃね
で、asm.jsのコードと実行時間は?
なんかこのスレ見ても「できるらしい」とか「できるはず」とかいう胡散臭いレスが目立つけど
実際どうなの?

581:デフォルトの名無しさん
13/05/04 13:24:30.70
>>580
Pyrex が 2002 年でそこからフォークした Cython が 2007 年
後追いではないと思われ

582:デフォルトの名無しさん
13/05/04 13:34:55.32
「今JSが熱い!みんなが熱狂している!薔薇色の未来!」
って、他の言語が数年前に通った道なんだね…
Cに変換するか、Cから変換されるかって違いか。さて、どっちが速いかね

583:デフォルトの名無しさん
13/05/04 13:37:47.14
>>582
JSが熱いってそんなCに変換するだのなんだののくだらない狭い世界の話じゃないんだが
asm.jsを熱弁してる奴がいただけで、JS熱は別次元だよ
node.jsやweb用ライブラリ界隈で起こってる熱狂

584:デフォルトの名無しさん
13/05/04 13:37:56.28
>>582
> 「今JSが熱い!みんなが熱狂している!薔薇色の未来!」
> って、他の言語が数年前に通った道なんだね…

いや、その道は他の言語は通っていない(苦笑)

今の話の流れからは「型つけて速くしましょう」という
道しか通ってないだろう?

585:デフォルトの名無しさん
13/05/04 13:40:09.50
デスクトップアプリがWEB用アプリに置き換わりはじめてるから、
この流れは相当続くね
下手したらスマフォのネイティブアプリの領域も浸食しそうだし(ここはまだ不確定)

586:デフォルトの名無しさん
13/05/04 13:40:31.51
ああ、asm.jsの奴はJS的にもアレなので
あそこまで言うのならコードと実行時間くらい示してほしいが

587:デフォルトの名無しさん
13/05/04 13:44:24.21
ん?ちょっとまて
この流れはひょっとしてCythonが最強という事でよろしいか?

588:デフォルトの名無しさん
13/05/04 14:00:56.34
Cythonって静的型付け言語ってことでいいの?

589:デフォルトの名無しさん
13/05/04 14:02:44.37
ハイブリッド

590:デフォルトの名無しさん
13/05/04 14:33:20.50
node.jsって実行速度を自慢する割には、
静的に型付けした場合と比較するとゴミだな……

所詮は、他言語がepollやkqueueを使わない場合という
ハンデをつけた状況に限れば非同期処理が速いってだけのウンコか……

591:デフォルトの名無しさん
13/05/04 14:35:16.37
> node.jsって実行速度を自慢する割には、
またいつもの勘違いさんかw

592:デフォルトの名無しさん
13/05/04 14:45:32.92
静的型付け言語の下位と同じくらいだな
動的型付け言語としては十分自慢できるぐらい速い

593:デフォルトの名無しさん
13/05/04 14:56:24.24
要するに静的型付け言語が優れてるってことだよ。

スクリプト言語で気軽にかけるといっても
大規模になって、多く使われるようになってくると
結局その複雑度や速度に対応するために
静的型付け言語の機能が取り入れられていく。

JavaScript、Python、Basic(VB)、PHP


URLリンク(www.publickey1.jp)
HipHop Virtual Machineは、PHPを高速に実行するためにPHPのコードをC/C++に変換して
g++でコンパイルし、バイナリコードにするHiphop compiler(hphpc)と、PHP


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch