Warum verbraucht diese Funktion viel Speicher?

Ich versuche, einen binären Vektor von 140 Millionen Bits in eine Liste zu entpacken. Ich überprüfe die Speichernutzung dieser Funktion, aber sie sieht komisch aus. Die Speichernutzung steigt auf 35 GB (GB und nicht MB). Wie kann ich den Speicherverbrauch reduzieren?

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;

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage