Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА мне слету понятна конструкция "while (*s++ = *t++)" а в вашу надо вдумываться чтоб понять. Добавь после скольки лет писания на Си "слету понятна". А теперь задумайся захочет ли кто-то с гораздо меньшим опытом после тебя что-то дописывать. Сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 22:21 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima T, вот не надо. Захочет, и рад будет. Я вот и хотел добавить в предыдущем посте, что " за это мы и любим наш родной язык С ". А всякие лошары пусть идут и колупаются в своей яве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 22:29 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА мне слету понятна конструкция "while (*s++ = *t++)" а в вашу надо вдумываться чтоб понять. Так что не надо ту про читаемость :) Ну просто таки не могу удержаться : Anatoly MoskovskyА вообще меня всегда поражало, как люди мучают себя и других используя такие конструкции Код: plaintext 1. вместо того чтобы написать Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 22:31 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
MasterZivА всякие лошары пусть идут и колупаются в своей яве. Лошары колупаются в 1С, и им за это очень даже неплохо платят. При этом им невозможно объяснить как настроить запуск проги из планировщика, но владельцам бизнеса рекомедую обратится именно к ним, т.к. эти лошары легко заменяемы, в отличии от гениальных писателей вместе с уходом которых умирает проект и приносит бизнесу гораздо большие финансовые потери. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 22:36 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyDima TДа, это длинно и нудно, но зато понятно всем, даже тем кто мало знаком с Си. А мне слету понятна конструкция "while (*s++ = *t++)" а в вашу надо вдумываться чтоб понять. Так что не надо ту про читаемость :) ЗЫ. Есть такое понятие идиома. Это то что новичек не знает, а опытные понимают с полслова. "*s++ = *t++" - это идиома, ее не надо перефразировать. Да мало этого, это просто классика, с которой начинается любая книжка по С. Да, она тупая и наивная, но она показывает очень хорошо дух языка -- мощь в каждом символе. С -- хакерский язык, и Unix была хакерская система. Для красноглазиков. Для хакеров. Для мозготрясов. С -- это ассемблер PDP-11, думающий, что он -- язык высокого уровня. Но он собственно и поднял IT cо дна вычислительного болота, где ученые только молотили всякие модели самолётов и ядерных взрывов. Ну, конечно, не всё определялось только созданием С, но это определённо была веха в развитии IT, программы стали переносимыми хоть как-то, это великая вещь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 22:39 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
MasterZivНо он собственно и поднял IT cо дна вычислительного болота, где ученые только молотили всякие модели ... ... модели того как бороздят космические корабли просторы вселенной (с) Ну чего это за самовозбуждение лозунгами? Есть простой факт: программист это обслуживающий персонал, не уборщица, но и не производитель добавленной стоимости, с этим надо смириться и учитывать это в процессе своего творчества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 22:50 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
MozokНу просто таки не могу удержаться: Anatoly MoskovskyА вообще меня всегда поражало, как люди мучают себя и других используя такие конструкции Код: plaintext 1. вместо того чтобы написать Код: plaintext 1. 2. 3. Не вижу противоречия. Это идиома: Код: plaintext 1. А это Код: plaintext 1. это обычно никому не нужная мутотеть, потому что применяют идиому не к месту. Вот оттуда же: Код: plaintext 1. Ну и нахрена так писать когда можно так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 23:21 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Вот этот пример нагляднее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 23:34 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima TAnatoly MoskovskyА мне слету понятна конструкция "while (*s++ = *t++)" а в вашу надо вдумываться чтоб понять.Добавь после скольки лет писания на Си "слету понятна".сразу. Именно она меня и покорила, в своё время )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2014, 01:04 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima TНу чего это за самовозбуждение лозунгами? Есть простой факт: программист это обслуживающий персонал, не уборщица, но и не производитель добавленной стоимости, с этим надо смириться и учитывать это в процессе своего творчества.ну чего это за самовозбуждение баналами? (с) Ты правда считаешь, что ты открыл нам правду наконец то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2014, 01:07 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
MasterZivDima T, вот не надо. Захочет, и рад будет. Я вот и хотел добавить в предыдущем посте, что " за это мы и любим наш родной язык С ". А всякие лошары пусть идут и колупаются в своей яве.+1 )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2014, 01:10 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Буду опускать регистр в дальнейшем. Я понял. MasterZivдолжно быть char* strcpy_test(char* to, const char* from) Почему значение передатчика должно быть константным ? По поводу Код: plaintext 1. . а) Конструкция, может быть, и применима, но не в этом примере. б)За счёт того что я написал её именно так, а не более развёрнуто, выиграл ли я в скорости выполнения программы ?(хотя бы на 10^(-100) секунды) ? Dima_T Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Да, это длинно и нудно, но зато понятно всем, даже тем кто мало знаком с Си. По-моему отличный код, ничего нудного. Я не считаю что он простой или нудный. Думаю, что при разработке программного обеспечения в каких-либо системах реального времени, или для спутников, используются именно такие чёткие конструкции. f e: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Два этих примера не идентичны, безусловно. Но мне кажется меня поймут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 04:12 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
В этой же главе приведён пример лексикографического сравнения: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Исходя из логики программы, на выходе Код: plaintext 1. 2. 3. будет число 98 (ASCII символ b), что неверное. Программа не учитывает все варианты, нужно добавить проверку на *b=='\0'. И то программа будет не полной. Переписал. Проверьте пожалуйста Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 06:30 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Нашёл у себя отличную ошибку !! Код должен быть такой, вероятно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 06:38 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 06:42 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryдолжны ли быть const? const при передаче указателя в параметрах означает что внутри твоей функции не происходит изменения данных по адресу указателя. Т.е. вызывающая программа может быть уверена что никаких изменений в ее данных не произойдет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 07:40 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima TMasterZivА всякие лошары пусть идут и колупаются в своей яве. Лошары колупаются в 1С, и им за это очень даже неплохо платят. При этом им невозможно объяснить как настроить запуск проги из планировщика, но владельцам бизнеса рекомедую обратится именно к ним, т.к. эти лошары легко заменяемы, в отличии от гениальных писателей вместе с уходом которых умирает проект и приносит бизнесу гораздо большие финансовые потери. если бы эти гениальные писатели не написали 1с , на с++ между прочим, то тем лошарам просто нечего было бы есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 09:33 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryб)За счёт того что я написал её именно так, а не более развёрнуто, выиграл ли я в скорости выполнения программы ?(хотя бы на 10^(-100) секунды) ? Все зависит от компилятора, как именно от откомпилирует. Посмотрел у себя во что реально превращается оба варианта - вижу примерно одно и тоже с незначительными отличиями. Можно просто взять и померить Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Результаты у меняВ дебагe f1() 3478 ms f2() 3604 ms strcpy() = 608 ms f1() 3494 ms f2() 3589 ms strcpy() = 608 ms f1() 3495 ms f2() 3588 ms strcpy() = 608 ms f1() 3495 ms f2() 3588 ms strcpy() = 608 ms f1() 3494 ms f2() 3588 ms strcpy() = 608 ms В релизе f1() 858 ms f2() 827 ms strcpy() = 2808 ms f1() 858 ms f2() 827 ms strcpy() = 2808 ms f1() 843 ms f2() 842 ms strcpy() = 2808 ms f1() 842 ms f2() 842 ms strcpy() = 2808 ms f1() 843 ms f2() 826 ms strcpy() = 2808 ms Т.е. получилось что компактно написанное чуть быстрее в дебаге и чуть медленнее в релизе. И очень странный результат у strcpy(), который стал в 4,5 раза медленнее работать в релизе. Всегда думал что быстрее всего работают родные функции Си, а тут задумался. Все зависит от компилятора. Повтори на своем компиляторе. Может другие результаты будут. Offtop 2 MasterZivMasterZivесли бы эти гениальные писатели не написали 1с , на с++ между прочим, то тем лошарам просто нечего было бы есть... Какое-то странное трактование причинно-следственных связей. Не знаю как это прокомментировать. Что касается причин успеха 1С, то они совсем в другой плоскости, гениальность писателей я бы не ставил на первое место. Да и гениальность под вопросом. Чего только стоит реализация блокировок таблиц в DBFной 1С77, когда ожидающий блокировки процесс в бесконечном цикле пытается заблокировать файл, если все это происходит локально в терминале, то вместо ожидания получается что он отжирает процессорное время у того кто эту блокировку держит, если дальше пытаются получить блокировку другие пользователи, то падал терминал при 4-5 ожидающих. А лечилось в итоге это достаточно просто: грязным хаком патчилась 1С.DLL, где в цикл блокировки вставлялся вызов Sleep(0). PS MasterZiv, предлагаю подтему про гениальность закрыть. Мир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 13:31 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dina_T, спасибо C: Завтра обязательно проверю все, уже пора спать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 15:52 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima_T* Извините(((, это автозамена HTC ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 16:16 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
f1() 9548ms f2() 9469ms strcpy_s() = 17940ms Данные релиза не удалось получить, к сожалению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 09:46 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryf1() 9548ms f2() 9469ms strcpy_s() = 17940ms Данные релиза не удалось получить, к сожалению По большому счету неважно, т.к. подобными улучшениями много не выиграешь, а времени кучу потратишь на замеры. Но иногда этим заниматься стоит, т.к. бывает что думаешь используешь самый быстрый вариант, а он оказывается чуть ли не самый тормозной. Гораздо полезнее знать алгоритмы увеличивающие производительность. Например можно каждый раз перебирать массив для поиска нужного элемента, а можно отсортировать его и использовать алгоритм двоичного поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 10:25 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima_TПо большому счету неважно, т.к. подобными улучшениями много не выиграешь, а времени кучу потратишь на замеры. Но иногда этим заниматься стоит, т.к. бывает что думаешь используешь самый быстрый вариант, а он оказывается чуть ли не самый тормозной. Гораздо полезнее знать алгоритмы увеличивающие производительность. Например можно каждый раз перебирать массив для поиска нужного элемента, а можно отсортировать его и использовать алгоритм двоичного поиска. согласен. Вчера вечером понял, мы, скорее всего, неправильно отнеслись к сравнению скорости выполнения данного кода. Процессор обрабатывает команды не только нашей программы, но и других. А если и проводить такое тестирование, то наверное в ОСРВ. И вот ещё. Например у нас есть алгоритм поиска. Мы, в теории, можем рассчитать сложность алгоритма. Количество итераций. Тут аналогично. Мне кажется, нужно посмотреть как наш код выглядит на машинном языке, после всех трансляций, и оценить стоимость каждой операции по времени. Ну опять таки, это нужно делать в ОСРВ. Насколько я помню, только там мы можем говорить о гарантированном времени для каждой операции процессора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 01:53 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryВчера вечером понял, мы, скорее всего, неправильно отнеслись к сравнению скорости выполнения данного кода. Процессор обрабатывает команды не только нашей программы, но и других. А если и проводить такое тестирование, то наверное в ОСРВ. Я это учитываю в подобных замерах. Запускаю на ненагруженном компе (когда параллельно ничего не считается). Потом пятикратный запуск. Можно еще приоритет процесса повысить до максимального, но это лишнее, т.к. в итоге работать будет в обычном режиме. SashaMercuryМне кажется, нужно посмотреть как наш код выглядит на машинном языке, после всех трансляций, и оценить стоимость каждой операции по времени. Ну опять таки, это нужно делать в ОСРВ. Насколько я помню, только там мы можем говорить о гарантированном времени для каждой операции процессора Тут на асме этот пример вчера выложил, по сути в машинных кодах. Код после компиляции почти одинаковый получился. Только для современных процессоров нельзя говорить о гарантированном времени выполнения конкретной команды, там слишком много оптимизации: кэши, распараллеливание, конвееры с предсказанием результата и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 09:10 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima T Тут на асме этот пример вчера выложил, по сути в машинных кодах. Код после компиляции почти одинаковый получился.ИМХО реализация библиотечной strcpy от while(*s++=*t++) должна сильно отличаться. На асме эффективный по быстродействию код совсем другой. У Agner Fog ( http://www.agner.org) интересная реализация: strcpy Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. memcpy Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 07:55 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38545751&tid=2019697]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 293ms |
| total: | 461ms |

| 0 / 0 |
