parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Что характерно...

sly 20.08.2004 22:24

Я опять что-то не то сделал, потому как ?mode=debug говорит, что стало только хуже. Может, это пока таблица маленькая?

Стало:
			$t[^GetSectionsByParent[$currentid]]
			$tHash[^CreateHashTree[$t;uri]]
			^if($tHash.[$urisplit.piece/]){
				$t[$tHash.[$urisplit.piece/]]
				$currentid[$t.id]
				^secondnav.append{^if(^urisplit.line[]!=($urisplit-1)){${MAIN:ENGINE.ROOT}${currenturi}$t.uri}	^taint[as-is][$t.title]}
			}		
			$currenturi[${currenturi}$urisplit.piece/]
Было:
			$tempsection[^GetSectionsByParent[$currentid]]
			^if(^tempsection.locate[uri;$urisplit.piece/]){
				$currentid[$tempsection.id]
				^secondnav.append{^if(^urisplit.line[] != ($urisplit - 1)){${MAIN:ENGINE.ROOT}${currenturi}$tempsection.uri}	^taint[as-is][$tempsection.title]}
			}
			$currenturi[${currenturi}$urisplit.piece/]
Все локальное описал как полагается. Только вместо locate, который все очень не любят за медленность, сделал хэш и взял из него нужную часть по uri. В отладочном файлике по rusage:
Date	IP	Comment	Usec	FSReading	Memory for Proccess	URI
2004-08-20 22:10:04.562000	127.0.0.1	before	0.0625	0.015625	6880	/articles/design/photoshop/?mode=debug	
2004-08-20 22:12:01.937000	127.0.0.1	before	0.046875	0	6876	/articles/design/photoshop/?mode=debug	
А в musage:
Date	IP	Comment	Used	Free	Ever Allocated Since Compact	Ever Allocated Since Start	URI
2004-08-20 22:10:04.562000	127.0.0.1	before	1216	328	1412.88	1412.88	/articles/design/photoshop/?mode=debug	
2004-08-20 22:12:01.937000	127.0.0.1	before	1204	340	1399.54	1399.54	/articles/design/photoshop/?mode=debug	
Т.е. старый вариант с locate несколько быстрее. Я правильно понял?