Saturday, September 22, 2007

performance testing

некоторое время назад один человек рассказал о том, что в mac os x невозможно оперировать с 250 000 файлов в одной директории. конечно, делать так - это бред, но мне стало интересно, действительно ли оно так. при этом, этот же человек уверял, что в виндовс все в порядке и никаких проблем с этим нет.


скрипт:



#!/usr/bin/perl

use strict;

local $/;

my $file = $ARGV[0];
my $dir = $ARGV[1];

die 'can\'t open file' unless open IN, $file;

binmode IN;
my $content = <$file>;

close IN;

foreach my $counter (0 .. 300000) {
print "$counter\n"
if $counter % 10000 == 0;

die 'can\'t open file for writing'
unless open OUT, '>', "$dir/$counter.png";
binmode OUT;

print OUT $content;

close OUT;
}


все тестировалось в фаловой системе hfs+ для mac os x, ntfs для windows xp sp2



создание файлов в виндах и mac os x заняло примерно 2-3 минуты (windows time /t не выводит секунды)
время показа содержимого директории в finder и explorer - 4-5 минут. короче, не делайте так и будет вам счастье.


P.S.: far всю ночь удалял файлы из директории, потому что эксплорер выдавал sharing violation при попытке удаления папки. и до сих пор еще не справился. под mac os x в finder все произошло достаточно быстро (10 минут), хотя файндер перед перемещением в корзину очень уж долго считал считал файлы.

No comments: