|
|
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
defecator, а лимит какой? Да какой там лимит, товарищь не заметил как у него ~4 гига! в памяти лишний раз прочиталось-записалось на 2 метровом файле, и к своим 50МБ он ниразу ещё и не подобрался видать. А AV, наверно, повылазили из-за ощутимых задержек при обработке, может в GUI, может в доп потоках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 13:42:32 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
Bred eFeM, Я думаю AV генерируется при реаллоке если не хватает памяти. Вроде бы я ничего не путаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 14:12:09 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUАвтору нужна запись 50Мб быстро. CachedBuffers писал 100Мб на тестах за 100мск. О чем мы говорим? про NativeXML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 14:20:02 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
Но если бы у рыб была шерсть, то в ней бы водились блохи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 14:24:11 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
defecator, Он же тормоз. Зачем про него вообще говорить? Уже если о чём-то и говорить готовом, так об OmniXML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 14:24:47 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
Ура!!! Получился, да ребята вы молодцы! Проблема была с выделением буфера. Вот теперь летает, супер! Вот последний рабочий вариант: TXMLWriter Код: pascal 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. Вы очень помогли мне! Уважаемые профессионалы, давайте предложение о том, как можно еще ускорить формирование простого XML документа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 14:58:52 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
Alimkulov, Я же написал ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 15:48:03 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
AlimkulovУважаемые профессионалы, давайте предложение о том, как можно еще ускорить формирование простого XML документа. Оптимизируй WriteBuffer. Он у тебя по 1 байту циклы гоняет. Сделай блочно через Move. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 15:50:47 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
Alimkulov, Я предвижу холивары. Поэтому замути тестовое приложение, в котором замеряется время. И тогда можно будет онлайн наблюдать, как то или иное решение оказывает влияние на производительность. И ещё момент. Исходные данные у тебя в какой кодировке? Ansi, Utf8 или Utf16(Wide)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 15:51:52 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUAlimkulov, Я же написал ) Да да, как раз я сейчас посмотрю CachedBuffers и CachedTexts. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 15:53:00 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
rgreatAlimkulovУважаемые профессионалы, давайте предложение о том, как можно еще ускорить формирование простого XML документа. Оптимизируй WriteBuffer. Он у тебя по 1 байту циклы гоняет. Сделай блочно через Move.Хотя если у тебя там все элементы длиной максимум в несколько байт как в тесте - то смысла нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 15:55:08 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
Зачем вообще выделять буфер ручками ? Установили начальную точку str := ''; и записываем дальше str := str + ''; Это очень быстро работает, и париться не надо с выделением, и копированием по одному символу! Что вообще целый ад. Ещё можно сделать функции inline что может не хило так сэкономить времени (В ущерб весу программы. Хотя пусть весит хоть 60 Главное скорость работы, что например у Java на нищем уровне при размерах, и аппетита по памяти) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 15:55:18 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
НяшикЗачем вообще выделять буфер ручками ? Установили начальную точку str := ''; и записываем дальше str := str + ''; Это очень быстро работает конкатенация строк работает очень быстро ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:00:25 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
НяшикУстановили начальную точку str := ''; и записываем дальше str := str + ''; Это очень быстро работает, и париться не надо с выделением, и копированием по одному символу! Что вообще целый ад. А-ха-ха! Полное копирование всей строки при добалении в нее - быстрым быть не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:01:02 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
AlimkulovМне потребовалось написать такой XML генератор, который работает очень быстро. Я бы озвучил требования к скорости и уже на основании этих требований искал бы пути реализации. За микросекунду 5 гигабайт ты никак не сгенерируешь, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:01:26 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
НяшикЗачем вообще выделять буфер ручками ? Установили начальную точку str := ''; и записываем дальше str := str + ''; Это очень быстро работает, и париться не надо с выделением, и копированием по одному символу! Что вообще целый ад. В начале я тоже так думал! Но у меня str := str + '' так долго, что терпения не хватила, чтоб подождать процесса до конца! Это из за Delphi 6 наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:01:51 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
schiAlimkulovМне потребовалось написать такой XML генератор, который работает очень быстро. Я бы озвучил требования к скорости и уже на основании этих требований искал бы пути реализации. За микросекунду 5 гигабайт ты никак не сгенерируешь , например. Ты что ! СофтФорЮ может и быстрее ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:02:20 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
defecatorконкатенация строк работает очень быстро ? Довольно быстро, при наличии FastMM. Беда, когда его нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:02:52 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
defecator, Пффф, гуано-вопрос ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:05:43 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUdefecator, Пффф, гуано-вопрос ) Ага, такой же, как с "самым быстрым в мире менеджером памяти" Там тоже был "говно вопрос", а получился пшик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:11:12 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
AlimkulovВ начале я тоже так думал! Но у меня str := str + '' так долго, что терпения не хватила, чтоб подождать процесса до конца! Это из за Delphi 6 наверное. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:13:26 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
defecator, Я занят рефакторингом CrystalLUA. Юникод, x64, задел под ARM/FPC, немного оптимизаций. Вы же не в состоянии программировать на уровне. Приходится делать в одиночку ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:17:11 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
schi За микросекунду 5 гигабайт ты никак не сгенерируешь, например. Test Код: pascal 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. И c:\test.xml : 374.5 mb ShowMessage(IntToStr(GetTickCount - tc)) : 9719; Это вполне удовлетворительно для моего задача! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:17:58 |
|
||
|
Работа с PChar
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUdefecator, Я занят рефакторингом CrystalLUA. Юникод, x64, задел под ARM/FPC, немного оптимизаций. Вы же не в состоянии программировать на уровне. Приходится делать в одиночку ) Наконец-то занялся чем-то одним, молодец ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2017, 16:19:39 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39474142&tid=2042126]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
229ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 477ms |

| 0 / 0 |
