Нужно написать код, который будет максимально быстро создавать пустой (забитый нулями) файл размером несколько гигабайт. На Perl это выглядит так:
#!/usr/bin/perl -w
use Fcntl;
my @array;
$array[$_] = chr(0x00) for (0..1023);
$out_str = pack("x1024", @array);
sysopen(OUTFILE, "file.tmp", O_WRONLY | O_CREAT | O_TRUNC) || die "DEBUG: $!";
for ($i = 0; $i < 1048576; $i++) { # запишем 1 Гб
syswrite(OUTFILE, $out_str);
}
close(OUTFILE);
Т.е. используется прямой небуферизованный вывод (syswrite), за счет чего скорость записи возрастает в несколько десятков (!) раз. Аналогичный код на Python должен работать так же быстро и иметь 100% переносимость (win-модули отпадают сразу).
Заранее спасибо за советы!