kaipa: (Default)
[personal profile] kaipa
Немного потрахавшись, поставил на Мак Haskell, чтобы понять, с чем его едят. Удивлен скоростью. Эталоном скорости в интерактивном режиме для меня всегда был J. Но тут Хаскель обскакал.

Факториал.

Хаскель (ghci):
let { f 1 = 1 ; f n = n * f(n-1) }

J:
f =: */@(>:@i.), хотя значительнее нагляднее просто */1+i.10000x, подставляя нужное число.

На тысяче разницы не видно.
На десяти тысяч J чуть запинается, а Хаскель -- нет.
На ста тысячах J пыхтел минут 5, а Хаскель вернул секунд за 30.

Но это, конечно, к языку не относится. На самом деле мне интересно, насколько на хаскеле удобнее программировать на типах, а то про Скалу совершенно справедливо пишут, что некоторые простые вещи часто становятся очень сложными.

Факториалы

Date: 2012-09-27 05:20 am (UTC)
From: [identity profile] livejournal.livejournal.com
Пользователь [livejournal.com profile] antilamer сослался на вашу запись в «Факториалы (http://antilamer.livejournal.com/445789.html)» в контексте: [...] Тут вот сетует [...]

Date: 2012-10-02 06:21 am (UTC)
From: [identity profile] sergeif.livejournal.com
библиотечный же факториал "!"

6!:2 '! 100000x'
114.218

Хаскель секунд за 40, но вывод занимает в целом дольше.

Profile

kaipa: (Default)
kaipa

April 2017

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 04:09 pm
Powered by Dreamwidth Studios