Программирование > Perl
массив с директориями
arto:
# perl -MBenchmark=timethese -de0
...
DB @iskl = map { join "",map { qw(a b c d)[int rand 4] } 1..5 } 1..16
DB @dir = map { join "",map { qw(a b c d)[int rand 4] } 1..5 } 1..64
DB sub A () { @iskl{@iskl} = @iskl; return grep { not exists $iskl{$_} } @dir; }
DB sub B () { return grep { !in_array($_, @iskl) } @dir; }
DB timethese (100_000,{\'A\' => \\&A,\'B\' => \\&B})
Benchmark: timing 100000 iterations of A, B...
A: 5 wallclock secs ( 5.72 usr + 0.02 sys = 5.74 CPU) @ 17421.60/s (n=100000)
B: 162 wallclock secs (160.46 usr + 0.40 sys = 160.86 CPU) @ 621.66/s (n=100000)
даже не ожидал, насколько ваше решение будет неэффективным
ravshaniy:
да крайне не эффективно, я подумаю еще
хотя думать тут особо не о чем (
Навигация
Перейти к полной версии