Почему эта функция использует много памяти?

Я пытаюсь распаковать двоичный вектор 140 миллионов бит в список. Я проверяю использование памяти этой функцией, но выглядит странно. использование памяти возрастает до 35 ГБ (ГБ, а не МБ). Как я могу уменьшить использование памяти?

sub bin2list {
    # This sub translates a binary vector to a list of "1","0" 
    my $vector = shift;
    my @unpacked = split //, (unpack "B*", $vector );
    return @unpacked;

}

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

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