Zaur_Lumanov
Умник
Пока писал код, задумался по теме оптимизации, и решил сравнить глобальные и локальные переменные и массивы.
Как я и ожидал, быстрее оказались глобальные. Ниже код замера скорости:
Думаю, провести подобный опыт с простыми переменными у вас не составит затруднения.
А вот и результат замера на моем компьютере:
Ну и то же самое, только с Jit Compiler'ом:
А почему так? Да потому, что глобальные выделяют память только 1 раз, а локальные ее выделяют постоянно, затрачивая на это время. Далее выводы делайте сами. Автор урока: Zaur_Lumanov.
Как я и ожидал, быстрее оказались глобальные. Ниже код замера скорости:
PHP:
new globVar[64];
main()
{
new i, time = GetTickCount();
for(i = 0; i < 10000000; i++)
{
localVarf();
}
printf("local: %i ms", GetTickCount()-time);
time = GetTickCount();
for(i = 0; i < 10000000; i++)
{
globalVarf();
}
printf("global: %i ms", GetTickCount()-time);
}
localVarf()
{
new localVar[64] = "Pawno-Info.ru \n Уроки";
localVar = "Zaur_Lumanov топ павнер ин зе ворлд";
}
globalVarf()
{
globVar = "Pawno-Info.ru \n Уроки";
globVar = "Zaur_Lumanov топ павнер ин зе ворлд";
}
А вот и результат замера на моем компьютере:
Ну и то же самое, только с Jit Compiler'ом:
А почему так? Да потому, что глобальные выделяют память только 1 раз, а локальные ее выделяют постоянно, затрачивая на это время. Далее выводы делайте сами. Автор урока: Zaur_Lumanov.
Последнее редактирование:
