Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
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 несколько быстрее. Я правильно понял?