Thread Über viele(!) Boolesche Werte iterieren: Array oder Bit::Vector oder was? (14 answers)
Opened by flowdy at 2012-08-03 22:56

topeg
 2012-08-04 18:11
#160624 #160624
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ja an vec habe ich nicht mehr gedacht.
Probiere es aus:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
my $data='';
$data.=pack('C', int rand(256)) for(0..$length/8);


#...


    vectr => sub {
                 my ($last,@cache)=(0);
                 for ( my $i = $start; $i <= $end; $i++ ) {
                     my $v = vec($data,$i,1);
                     if ($v xor $last // !$v) { push @cache, $v ? 1 : -1 }
                     else { $cache[-1] += $v } 
                     $last = $v;
                 }
             },


Das dürfte wirklich schnell sein.

View full thread Über viele(!) Boolesche Werte iterieren: Array oder Bit::Vector oder was?