|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
есть глобал: 1: ^B(1) = "Team" 2: ^B("ghgjghj") = 54 3: ^B("ghgjghj",2) = "bob" 4: ^B("ghgjghj",3) = "port" 5: ^B("1232") = "red" 6: ^B("1232",3) = "point" 7: ^B("1232",6) = "yellow" и т.д......... задача вывести все значения узлов (через терминал) вниз по дереву, начиная с определенного задаваемого значения допустим с "ghgjghj" результат примерно таков: узел "ghgjghj" = 54 узел 2 = "bob" узел 3 = "port" узел "1232" = "red" узел "1232" = "point" узел "1232" = "yellow" и т.д......... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 14:43 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Совершенно верно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 15:18 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Бредятина, спасибо огромное ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 16:35 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Я пьян по случаю ДР коллеги, но мне кажется, что причина в том, что я ничего не понял во втором и третьем посте, не в этом. А ТС - используйте $query иили $order. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 16:46 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
nurekil, В данном случае лучше использовать функцию $query s gl=$na(^B) ; - Глобаль s i="ghgjghj" ; - Стартовый индекс f s i=$q(@gl@(i)) q:i="" w "Узел: "_$na(^(i))_" = "_$g(^(i)) ; не забываем про 2-а пробела после for и после quit по условию ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 16:48 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-N, по непонятным мне причинам условие выхода из цикла q:i="" не выполняется, поменял его на q:i=" " результат тот же пробовал вводить различные начальные точки i - вывод работает ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 17:24 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Проверьте должно быть два пробела между q:i="" и w Хотя если там нет 2-х пробелов, то скрипт должен вылетать по АНДЕФУ Если не получится $query то можно через $order реализовать: s gl=$na(^B) ; - Глобаль s i="ghgjghj" ; - Стартовый индекс f s i=$o(@gl@(i)) q:i="" w "Узел "_$na(^(i))_" = "_$g(^(i)) s k="" f s k=$o(@gl@(i,k)) q:k="" w "Узел "_$na(^(k))_" = "_$g(^(k)) Если глубина глобали увеличиться, то соответственно нужно будет добавить еще один цикл. P.S. Мне приходилось на М-языке разрабатывать/сопровождать много разных приложений и программ из разных областей: банки, бухгалтерия, документооборот, биллинговые системы, интерфейсы разных уровней, писал архиватор на MSM и прочие задачи. И я абсолютно уверен, что если в скрипте приходится использовать функцию $query, то это первый признак того, что структура базы разработана коряво. Хотя не исключаю, что существуют исключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 17:48 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Пишу скрипт напрямую в редакторе форума, поэтому ошибочку допустил - там во втором цикле в quit по условию нужно указать переменную k Модератор: Исправлено ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 18:00 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-N, практически работает, в результате работы (при начальной точке "ghgjghj") выдает пустую строку, потому что дальше ничего нет, но хотелось бы чтобы выводило включительно начиная с ("ghgjghj") при начальной точке "1232" идет вниз по дереву не включая "1232"-глобал 1: ^C(1) = "Team" 2: ^C(1232) = "red" 3: ^C(1232,3) = "point" 4: ^C(1232,6) = "yellow" 5: ^C("ghgjghj") = 54 6: ^C("ghgjghj",1) = "bob" 7: ^C("ghgjghj",2) = "port" 8: ^C("ghgjghj",3) = "port" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 18:56 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Все правильно, цифры всегда вначале списка, если нужно включительно с конкретного индекса начинать, определяем стартовый индекс следующим образом: s i="ghgjghj",i=$o(@gl@(i),-1) ; - Стартовый индекс если стартовый индекс указать "" то цикл переберет всю глобаль. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 19:06 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-N, в этом то и вся соль, если в качестве начальной точки водить s i="ghgjghj" , то результат выполнения[img=[img=]] видимо все дело в то что нач. индекс строка, а не число не знаешь случаем что нужно сделать, чтобы хавало строку?? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 19:24 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Посмотрите внимательно на мой предыдущий пост. Все должно работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 19:39 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-N, s i="ghgjghj",i=$o(@gl@(i),-1) ; - Стартовый индекс результат таков ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:12 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
nurekil, ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:13 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-NПосмотрите внимательно на мой предыдущий пост. Все должно работать. результат следующий: USER>Do ^points Point ^C(1232) = red Point ^C(1232,3) = point Point ^C(1232,6) = yellow Point ^C(1) = Team USER> ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:15 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Что-то не так. Покажите текст программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:23 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-N, S ^C(1)="Team" S ^C(1232)="red" S ^C(1232,3)="point" S ^C(1232,6)="yellow" S ^C("ghgjghj")=54 S ^C("ghgjghj",1)="bob" S ^C("ghgjghj",2)="port" S ^C("ghgjghj",3)="port" s gl=$na(^C) s i="ghgjghj" f s i=$o(@gl@(i),-1) q:i="" w !, "Point "_$na(^(i))_" = "_$g(^(i)) s k="" f s k=$o(@gl@(i,k)) q:k="" w !, "Point "_$na(^(k))_" = "_$g(^(k)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:33 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Вы не так меня поняли, должно быть следующим образом (разбил детально с комментариями): s gl=$na(^C) s i="ghgjghj" ; - Стартовый индекс s i=$o(@gl@(i),-1) ;- Предыдущее значение от стартового индекса f s i=$o(@gl@(i)) q:i="" w !, "Point "_$na(^(i))_" = "_$g(^(i)) s k="" f s k=$o(@gl@(i,k)) q:k="" w !, "Point "_$na(^(k))_" = "_$g(^(k)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:44 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-N, спасибо все заработало, выводит включительно с начальной точкой P.S. читал в методичке, что Функция$O((…),-1) – обратный относительно функции$O[rder] проход по уровням дерева ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 20:58 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Все правильно в методичке написано. Вообще $order - это одна из основных функций. Если вы планируете работать с М-системами, то необходимо уметь читать текст, понимать что происходит и т.д. Все придет с опытом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 21:10 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
AvA-Nf s i=$o(@gl@(i)) q:i="" w "Узел "_$na(^(i))_" = "_$g(^(i)) s k="" f s k=$o(@gl@(i,k)) q:k="" w "Узел "_$na(^(k))_" = "_$g(^(k)) Если глубина глобали увеличиться, то соответственно нужно будет добавить еще один цикл. Рекурсия спасёт отца русской демократии ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 08:48 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
П.С.М.Рекурсия спасёт отца русской демократии ;) Рекурсия - фигня! Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Нужно использовать правильные функции... Результат работы Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 09:22 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Нужно использовать правильные функции... Так то да, но вроде как у ТС что-то не задолось с использования $query несколькими постами выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 10:25 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Замодернизировал немного: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 11:12 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
П.С.М.вроде как у ТС что-то не задолось с использования $query Он просто не умеет их готовить... (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 14:21 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
nurekilAvA-N, по непонятным мне причинам условие выхода из цикла q:i="" не выполняется, поменял его на q:i=" " результат тот же пробовал вводить различные начальные точки i - вывод работает Это неправда. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 20:14 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
krvsaРекурсия - фигня! Ой вэй, рекурсия - божественна. Но тут, действительно, лучше использовать $query ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 21:14 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
не рубящий в кашеОй вэй, рекурсия - божественна. Фигасе! Рекурсия это лишь простое решение того, что не можешь (не умеешь, ленишься) разложить на конечное число циклов... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 09:04 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Рекурсия хороша, Когда неглубока, А когда глубока, Падает от обморока. ДокументацияIn rare cases, this recursion can rise to several thousand levels, threatening stack overflow and a process crash. However, recursion can lead to stack overflow. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 09:38 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
servit, не думаю, что у krvsa, который пытается разложить на конечное число циклов будет переполнение стека. Вот такая программа у меня дошла до 1304 шага: Код: sql 1. 2. 3. 4. 5.
krvsa, попробуй без рекурсии с конечным числом циклов пройтись по всем файлам и директориям на диске. Я вот, не могу, не умею и ленюсь делать это без рекурсии. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 13:08 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
не рубящий в кашеkrvsa, попробуй без рекурсии с конечным числом циклов пройтись по всем файлам и директориям на диске. Я такое уже делал. Как раз для иллюстрации самому себе. Т.к. сам когда-то столкнулся с утверждением, что любую рекурсию можно разложить на конечное число циклов. Причем скорость обработки после "раскладки" (например на JavaScript) возрастает значительно! не рубящий в кашеЯ вот, не могу, не умею и ленюсь делать это без рекурсии. Это твои проблемы... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 15:00 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
не рубящий в кашене думаю, что у krvsa, который пытается разложить на конечное число циклов будет переполнение стека. Нет конечно... Потому как количество циклов будет явно меньше десятка... Пока хватало 5-6... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 15:01 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
krvsaТ.к. сам когда-то столкнулся с утверждением, что любую рекурсию можно разложить на конечное число циклов. Если точнее, то любую хвостовую рекурсию можно заменить на итерацию (цикл). Так что сначала преобразуем рекурсию в хвостовую, и если получилось - в итерацию. Приходилось делать такое на COS, т.к. рекурсивное программирование на нём - штука потенциально ненадёжная из-за относительно небольшой глубины стека. Если даже сегодня программа "вписывается" в стек, то завтра либо постановка немного поменяется, либо вызовы пойдут с большей глубины стека - и привет, <FRAMESTACK>. К тому же ускорение от перехода на итерацию обычно довольно значительное. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 15:44 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Если использовать необходимое количество накопителей с замещением, то любую рекурсию можно заменить на итерации. Каждая итерация просто 1) замещает принятый на обработку элемент набором если требуется рекурсия или 2) выносит его из накопителя если обработка выполнена полностью. Верхний уровень просто повторяет итерации если в накопителях что-то есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 16:00 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
ну яЕсли использовать необходимое количество накопителей с замещением...То есть, фактически вы предлагаете моделировать стек на локальной памяти процесса? Это, конечно, решит проблему потенциального <FRAMESTACK>, едва ли даст ускорение по сравнению с "классической" рекурсией. Фишка хвостовой рекурсии в том, что рекурсивный вызов - последнее действие функции, поэтому её локальная среда повторно никогда не используется. Поэтому локальную среду не надо восстанавливать, а отсюда - совсем небольшой шаг до превращения рекурсии в итерацию. Неплохая подборка примеров таких превращений. Ещё где-то попалось, что компиляторы некоторых ЯП автоматически распознают хвостовую рекурсию и компилируют её в итерацию. До чего дошёл прогресс... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 16:51 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
krvsaЯ такое уже делал. Вот прям по любой файловой структуре, не зная глубину вложенности директорий? ну яЕсли использовать необходимое количество накопителей с замещением, то любую рекурсию можно заменить на итерации. Так любая рекурсия и превращается при компиляции в итерацию с использованием стека, где хранятся локальные окружения. Alexey MaslovЕщё где-то попалось, что компиляторы некоторых ЯП автоматически распознают хвостовую рекурсию и компилируют её в итерацию. До чего дошёл прогресс... В основном в функциональных языках, вроде Haskell'a. А если говорить о чистых функциональных языках, то там даже циклов нет в принципе. И, хочу заметить, отнюдь не любую рекурсивную функцию можно превратить в хвостовую с аккумулятором. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 17:55 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
не рубящий в кашеИ, хочу заметить, отнюдь не любую рекурсивную функцию можно превратить в хвостовую с аккумулятором.Вообще-то теория гласит другое:С. М. Дудаков. "Математическое введение в информатику"Теорема 6.3. (Об удалении рекурсии) По каждому алгоритму можно построить эквивалентный алгоритм без рекурсии.Но, возможно, вам удастся её опровергнуть. Дерзайте! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 18:54 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Alexey Maslov, я писал про "хвостовую (рекурсию, прим.) с аккумулятором", а вы мне про "эквивалентный алгоритм без рекурсии". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 19:01 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Я лишь изложил один из подходов к преобразованию рекурсии в итерацию, который приходилось применять лично. Хвостовая рекурсия - не самоцель, а лишь промежуточный шаг. Но теорема, оказывается, более сильная, в ее формулировке нет ни слова о хвостовой рекурсии. Может быть, она в общем случае и не нужна; на анализ доказательства времени сейчас нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 19:08 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Alexey MaslovЯ лишь изложил один из подходов к преобразованию рекурсии в итерацию Да, рекурсия становится всегда итеративной при компиляции. Для этого компилятором(интерпретатором) добавляется стек вызовов. А вот если говорить о преобразовании рекурсии во что-то итерационное в коде программиста, мне становится страшно. Или использование n-уровней циклов, когда уровней неких данных > n. Ведь в первом случае никто не поймёт, что автор имел в виду. А во втором просто будет коллапс. Мы же говорим о построении продакшен(извините за столь противное слово)-систем, где рекурсия помогает сберечь нервы людей сопровождающих код. Alexey MaslovХвостовая рекурсия - не самоцель, а лишь промежуточный шаг. Но теорема, оказывается, более сильная, в ее формулировке нет ни слова о хвостовой рекурсии. И не будет, ведь хвостовая рекурсия - частный случай обычной рекурсии. Иногда можно привести рекурсию к хвостовой (факториал, фиобоначчи, например), иногда нельзя: сопоставление с образцом и вызов в зависимоти от этого разных функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2013, 23:12 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Alexey MaslovЕсли точнее, то любую хвостовую рекурсию можно заменить на итерацию (цикл). Можно спорить долго... Применять термины... Но фраза была только со словами "ркурсию" и "любую". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 08:29 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
ну яЕсли использовать необходимое количество накопителей с замещением, то любую рекурсию можно заменить на итерации. Каждая итерация просто 1) замещает принятый на обработку элемент набором если требуется рекурсия или 2) выносит его из накопителя если обработка выполнена полностью. Верхний уровень просто повторяет итерации если в накопителях что-то есть. Да, именно такой прием и применял, когда проверял то утверждение... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 08:30 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Alexey Maslovедва ли даст ускорение по сравнению с "классической" рекурсией А вот это все уже нужно проверять. Например яваскриптеры четко утверждали об обратном! Ускорение было (ради него и делали) и значительное (это их слово)... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 08:32 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
не рубящий в кашеВот прям по любой файловой структуре, не зная глубину вложенности директорий? Глубина вложенности при "развороте" рекурсии в циклы не имеет никакой роли, т.к. количество циклов конечно и оно не велико... С "любой файловой структурой" я дело не имел, т.ч. утверждать не буду. Но если говорить о Кащее - так там одни функции на все про все, т.ч. разницы в этом не вижу... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 08:36 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Alexey Maslovна анализ доказательства времени сейчас нет. Да и смысла особого нет. Для меня было достаточным знать про это. И при желании тепрь я могу смело этим знанием воспользоваться! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 08:39 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
не рубящий в кашеДа, рекурсия становится всегда итеративной при компиляции. Для этого компилятором(интерпретатором) добавляется стек вызовов. Алилуия!!! Т.е. сам факт этого ты уже признал... не рубящий в кашеА вот если говорить о преобразовании рекурсии во что-то итерационное в коде программиста, мне становится страшно. Или использование n-уровней циклов, когда уровней неких данных > n. Ведь в первом случае никто не поймёт, что автор имел в виду. А во втором просто будет коллапс. Страшно - не делай. И про понимание все очень относительно... Например я не требую от конечных программеров понимания наших "системных" процедур и функций, достаточно уметь их применять. не рубящий в кашеМы же говорим о построении продакшен(извините за столь противное слово)-систем, где рекурсия помогает сберечь нервы людей сопровождающих код. Тот продакшен только выиграет если обработка чего-либо по времени уменьшится. Например совсем недавно была разработана процедура позволяющая обрабатывать некий "стек процедур/функций" многоджобово, в зависимости от настроек пользователя. Программинг для конечного программиста усложнился значительно. Но сам процесс обработки вырос в разы на многопроцессорных процессорных и многоядерных компах. А в ЦОДах выростет и подавно. Т.ч. получается, что игра стоит свеч! А применительно к тебе - тебе и решать. Я так для себя это уже решил... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 08:47 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
krvsaне рубящий в кашеДа, рекурсия становится всегда итеративной при компиляции. Для этого компилятором(интерпретатором) добавляется стек вызовов. Алилуия!!! Т.е. сам факт этого ты уже признал... Эм, а где я это отрицал? Только вот этим занимается компилятор, а не бедняги-программисты. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 16:41 |
|
помогите начинающему с глобалами
|
|||
---|---|---|---|
#18+
Сталкивался с проблемой, что открытый курсор является видимым на разных уровнях рекурсии. И приходится либо работать по принципу "открыл курсор - обработал и сохранил данные - закрыл курсор - рекурсивно исходя из собранных данных выполнил функцию", либо изолировать курсор объявляя new системным переменным, что кажется мне не очень надежным способом. Кстати, посмотрел бы, сколько придется попрыгать при развертывании дерева, хранящегося в реляционной таблице для отображения в графическом виде не использую рекурсию. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 17:02 |
|
|
start [/forum/topic.php?all=1&fid=39&tid=1557162]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 304ms |
0 / 0 |