Я создал большой бинарный файл (134Мб) и решил найти закономерность - скорость чтения в зависимости от размера разовой порции. Читающий скрипт #!/usr/local/LAST/bin/perl use strict; use Time::Stopwatch; my $size = @ARGV[0]; open FD,"<","1.bin" or die "Couldn't open file"; my $buf=""; my $buff=""; tie my $timer, 'Time::Stopwatch'; while (sysread(FD,$buff,$size)) { $buf .=$buff; $buff = ""; } print "Len = " . length($buf) . " time = $timer \n"; Тестирующая обёртка #!/usr/local/LAST/bin/perl for (my $i=1000;$i<10000;$i+=1000) { `echo "*********** $i ****************" >> log`; `./BinRead.pl $i >> log`; `./BinRead.pl $i >> log`; `./BinRead.pl $i >> log`; } А вот и результаты *********** 1000 **************** Len = 134184960 time = 1.44458103179932 Len = 134184960 time = 5.34793496131897 Len = 134184960 time = 12.9632449150085 *********** 2000 **************** Len = 134184960 time = 12.9896860122681 Len = 134184960 time = 8.19250202178955 Len = 134184960 time = 2.76202511787415 *********** 3000 **************** Len = 134184960 time = 6.86614799499512 Len = 134184960 time = 5.87107181549072 Len = 134184960 time = 24.3561189174652 *********** 4000 **************** Len = 134184960 time = 10.9215641021729 Len = 134184960 time = 2.31534290313721 Len = 134184960 time = 7.81663918495178 *********** 5000 **************** Len = 134184960 time = 2.64392805099487 Len = 134184960 time = 3.43289399147034 Len = 134184960 time = 6.88873481750488 *********** 6000 **************** Len = 134184960 time = 4.62800908088684 Len = 134184960 time = 11.0599589347839 Len = 134184960 time = 6.89057993888855 *********** 7000 **************** Len = 134184960 time = 7.4300639629364 Len = 134184960 time = 10.491378068924 Len = 134184960 time = 9.54563808441162 *********** 8000 **************** Len = 134184960 time = 7.39949584007263 Len = 134184960 time = 7.56769704818726 Len = 134184960 time = 6.46512794494629 *********** 9000 **************** Len = 134184960 time = 8.31921887397766 Len = 134184960 time = 10.0672011375427 Len = 134184960 time = 8.81646490097046 По ним то и вопросы 1) Почему в рамках одной порции настолько разные результаты 2) Какова в теории зависимость скорости от размера порции P.S. Может я провёл эксперимент неправильно?
Ответ на:
комментарий
от cvv
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум помогите найти ошибки в следующем перловом коде (2004)
- Форум Вопрос по дешифровке RC4. (2007)
- Форум samba pdc (2011)
- Форум Icecast на Centos 7 работает, а ices - никак не запускается. (2018)
- Форум [gentoo] K3b не режет нифига. (2010)
- Форум Вставка порции данных в таблицу (2012)
- Форум nodejs скорость выполнения (2014)
- Форум Скорость выполнения тестов (2018)
- Форум Тестирование скорости нетбука (2016)
- Форум Тестирование скорости программ (2005)