Разделение списка на куски одинакового размера в Эрланге

Я хочу разделить:

[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 секунды на моем нетбуке. Я также написал действительно быструю рекурсивную функцию, но мне просто интересно: могло ли это понимание списка также быть написано по-другому, чтобы оно было быстрее?

Ответы на вопрос(8)

Ваш ответ на вопрос