Разделение списка на куски одинакового размера в Эрланге
Я хочу разделить:
[1,2,3,4,5,6,7,8]
в:
[[1,2],[3,4],[5,6],[7,8]]
Как правило, прекрасно работает с:
[ lists:sublist(List, X, 2) || X <- lists:seq(1,length(List),2) ] .
Но это действительно медленно. 10000 элементов занимают невероятные 2,5 секунды на моем нетбуке. Я также написал действительно быструю рекурсивную функцию, но мне просто интересно: могло ли это понимание списка также быть написано по-другому, чтобы оно было быстрее?