HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/doc/libbit-vector-perl/examples/benchmk3.pl
#!/usr/bin/perl -w

package Bit::Vector;

use strict;

sub Pattern_Fill
{
    my($vector,$pattern,$length) = @_;
    my($size,$factor);

    $size = $vector->Size();
    $factor = int($size / $length);
    if ($size % $length) { $factor++; }
    $vector->Chunk_List_Store($length, ($pattern) x $factor);
    return $vector;
}

package main;

use strict;

use Bit::Vector;
use Benchmark;

my($i,$n);

my $b = 1024;

my(@v) = Bit::Vector->new($b,8);

$v[1]->Pattern_Fill(0x01,5);
$v[2]->Pattern_Fill(0x01,3);
$v[3]->Pattern_Fill(0x01,2);
$v[4]->Pattern_Fill(0x03,3);
$v[5]->Pattern_Fill(0x07,4);
$v[6]->Pattern_Fill(0x0F,5);
$v[7]->Fill();

for ( $i = 0; $i < 8; $i++ )
{
    $n = $v[$i]->to_Bin();
    print "\nTiming vector #$i:\n$n\n\n";
    timethese
    (
        500000,
        {
            'Norm1' => sub { $n = $v[$i]->Norm(); },
            'Norm2' => sub { $n = $v[$i]->Norm2(); },
            'Norm3' => sub { $n = $v[$i]->Norm3(); }
        }
    );
    print "<<< n = $n, b = $b, ", ( int( ($n / $b) * 1000 + 0.5 ) / 10 ), "% >>>\n";
}

__END__