夜中からの Haskell 談義

Haskell 遅いんじゃないかって言ったら @tanakh 先生に教育的指導をして頂けました
26
くいなちゃん @b2

C/C++ 並に高速な実行ファイルを吐き、C/C++ よりもコンパイルが速く、メモリ周りが安全で(バッファオーバーラン&メモリリークを防ぐ)、文法が美しいような実用的言語を設計中。 最終的には、ネイティブ実行ファイル生成可能なコンパイラまでを作るよ!

2011-04-11 03:31:08
Hideyuki Tanaka @tanakh

水をさすようですが、Haskellはこれらをすべて満たしていると思いますので、参考にされると良いかと RT @a_mute: C/C++ 並に高速な実行ファイルを吐き、C/C++ よりもコンパイルが速く、メモリ周りが安全で(バッファオーバーラン&メモリリークを防ぐ)、文法が美しい

2011-04-11 03:32:26
くいなちゃん @b2

Haskell は中身がどう動作しているのか解らないんですが、C/C++ 並に高速な実行ファイルを吐くのでしょうか・・・? FAV @tanakh 水をさすようですが、Haskellはこれらをすべて満たしていると思いますので、参考にされると良いかと

2011-04-11 03:34:34
Hideyuki Tanaka @tanakh

@a_mute C/C++と同じデータ構造を用い、同じアルゴリズムを用いている限りは、同程度の速度の実行ファイルが出来上がる可能性が高いです。

2011-04-11 03:36:10
Hideyuki Tanaka @tanakh

より抽象度の高いコードだとC/C++より高速になる可能性はありますね。書き換えルールとかありますし

2011-04-11 03:37:46
くいなちゃん @b2

なるほど。。 ただ、ちょっと僕にはC/C++ と同様のデータ構造&アルゴリズムで記述することは難しく感じますね・・・>< FAV @tanakh C/C++と同じデータ構造を用い、同じアルゴリズムを用いている限りは、同程度の速度の実行ファイルが出来上がる可能性が高いです。

2011-04-11 03:38:16
Hideyuki Tanaka @tanakh

はい。現実的にはそうかも知れないですね。 RT @a_mute: なるほど。。 ただ、ちょっと僕にはC/C++ と同様のデータ構造&アルゴリズムで記述することは難しく感じますね・・・>< FAV @tanakh C/C++と同じデータ構造を用い、同じアルゴリズムを用いている限りは

2011-04-11 03:38:58
SKS rep @repeatedly

まぁ今のHaskellはByteString使ってC体験すればいいかと(ヲ

2011-04-11 03:41:19
くいなちゃん @b2

Haskell でなくては書けない or Haskell で書いたほうが遙かに効率良い ってものは存在するのだろうか。 それがあれば、喜んで Haskell に手を伸ばすんだけど・・・

2011-04-11 03:47:07
@koba789

@a_mute 遅延評価が活きるアルゴリズム、ってのはありますね

2011-04-11 03:47:38
Hideyuki Tanaka @tanakh

@a_mute Haskellで書いたほうが(コーディング)効率が良いのだというのだったら、まさにコンパイラはその類のプログラムだと思います。

2011-04-11 03:48:14
manaten @manaten

@a_mute コンパイラとかはHaskellだとだいぶ効率いいと聞きますね

2011-04-11 03:48:21
くいなちゃん @b2

DP or メモ化で大抵なんとかなる気もします・・・>< FAV @KOBA789 遅延評価が活きるアルゴリズム、ってのはありますね

2011-04-11 03:48:41
くいなちゃん @b2

@tanakh ああ、なるほど・・・確かに

2011-04-11 03:49:05
くいなちゃん @b2

@manaten 確かに、パターンマッチが活きてきますもんね

2011-04-11 03:49:39
Hideyuki Tanaka @tanakh

今のところだと、僕のベストおすすめHaskell入門書籍は、Learn You なんとかになりました。英語ですけど。On Lineでも読めるよ。 http://learnyouahaskell.com/

2011-04-11 03:49:48
めるぽん.c @melponn

Haskellは、光成さんのページ( http://bit.ly/gsrsDq とか http://bit.ly/eGo6WI とか)見る限りだと C++ と比べてそんなに速いわけでもない気がするのだけれども

2011-04-11 03:52:27
SKS rep @repeatedly

@melponn 純粋な速度ではまだ勝てないんじゃないですかねぇ.人間の最適化がしにくいような場所だと色々な最適化が効くのかもしれません.まぁこれも書き手のレベルによるので言語の速度ではないかもしれませんが…

2011-04-11 03:57:00
Hideyuki Tanaka @tanakh

@melponn これはいくらなんでもHaskellの方のコードがひどすぎます…

2011-04-11 03:57:23
めるぽん.c @melponn

@tanakh Haskell 側のコードは全然読めないのですが、そんなに処理に無駄があるんでしょうか…

2011-04-11 03:59:23
Hideyuki Tanaka @tanakh

@melponn まずリスト使ったら遅いですし、250の一つ目のコードは論外だとしても、STArrayというBoxedなArrayを使っているのが良くないです。

2011-04-11 04:01:47
SKS rep @repeatedly

一度世界的な言語のベンチマーク大会をやれば良いと思うんだよな.いくつかの例を書いて,それを各言語のエキスパートが書く.毎年やれば処理系の進化も分かるし,他言語との比較もできてハッピー!

2011-04-11 04:02:58
Hideyuki Tanaka @tanakh

うーん、こういうコードが転がってて、Haskell遅いとか言われるのは問題だな・・・

2011-04-11 04:03:38
くいなちゃん @b2

手動で出来るだけ最適化しながらプログラミングしてる僕にとっては、高水準で中がどうなってるか解らない言語だと、なんとなくしっくり来ないですね。

2011-04-11 04:03:51
1 ・・ 6 次へ