ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Очень долгий запу ск на AMD64...



On Fri, 31 Mar 2006, Alexey N. Kovyrin wrote:

Igor Sysoev пишет:
Если кратко - много десятков тысяч....
Класс! Сократил количество инклудов для каждого сервера с 3 до 1 и время парсинга с 95 упало до 10секунд. Это уже приемлемо. Спасибо Вам больше, Игорь!

Прилагаемый патч должен, по идее, ещё уменьшить время.
Да. -10%.

Прилагаемый патч должен, по идее, ещё уменьшить время.


Игорь Сысоев
http://sysoev.ru
--- src/core/ngx_palloc.c       Sat Jan 28 20:40:06 2006
+++ src/core/ngx_palloc.c       Fri Mar 31 18:01:16 2006
@@ -86,7 +86,7 @@
 {
     u_char            *m;
     ngx_pool_t        *p, *n;
-    ngx_pool_large_t  *large, *last;
+    ngx_pool_large_t  *large;
 
     if (size <= (size_t) NGX_MAX_ALLOC_FROM_POOL
         && size <= (size_t) (pool->end - (u_char *) pool)
@@ -134,6 +134,23 @@
         return m;
     }
 
+    p = ngx_alloc(size, pool->log);
+    if (p == NULL) {
+        return NULL;
+    }
+
+    large = ngx_palloc(pool, sizeof(ngx_pool_large_t));
+    if (large == NULL) {
+        return NULL;
+    }
+
+    large->alloc = p;
+    large->next = pool->large;
+    pool->large = large;
+
+    return p;
+
+#if 0
     /* allocate a large block */
 
     large = NULL;
@@ -184,6 +201,7 @@
     large->alloc = p;
 
     return p;
+#endif
 }
 
 


 




Copyright © Lexa Software, 1996-2009.