[Moscow.pm] Загрузка .PMC-файлов

Walery Studennikov despairr на gmail.com
Ср Июн 30 05:25:58 PDT 2010


30 июня 2010 г. 16:16 пользователь Dmitry Karasik
<dmitry на karasik.eu.org> написал:
> On Wed, Jun 30, 2010 at 03:56:58PM +0400, Walery Studennikov wrote:
>> 30 июня 2010 г. 15:53 пользователь Dmitry Karasik
>> <dmitry на karasik.eu.org> написал:
>> > что-то мне сомнительно что одинокий stat64, даже помноженный на пару сотен
>> > раз, займет больше в сумме чем пару миллисекунд
>>
>> Ну считайте сами...
>>
>> У нас в одном из проектов грузится 700+ модулей, включая все зависимости.
>> В @INC 15 записей.
>>
>> Итого 700 * 15 = 10500 лишних системных вызовов.
>>
>> Оно нам надо?
>
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <sys/time.h>
> #include <unistd.h>
> #include <stdio.h>
> int main()
> {
>        int i;
>        struct stat s;
>        struct timeval t1, t2;
>        gettimeofday(&t1, NULL);
>        for ( i = 0; i < 10500; i++) stat("unexistent.pmc", &s);
>        gettimeofday(&t2, NULL);
>        i = t2.tv_sec * 1000000 + t2.tv_usec - t1.tv_sec * 1000000 - t1.tv_usec;
>        printf("%g seconds\n", (float)(i)/1000000);
>        return 0;
> }
>
> аж целых 0.023536 seconds на моем медленном лаптопе )

А ты имена файлов генерируй случайным образом -- так честнее будет ;)

-- 
Walery Studennikov
http://www.reg.ru/


Подробная информация о списке рассылки Moscow-pm