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

Dmitry Karasik dmitry на karasik.eu.org
Ср Июн 30 05:16:53 PDT 2010


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 на моем медленном лаптопе )


-- 
Sincerely,
	Dmitry Karasik



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