Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
Где-то в степиЧто то не могу понять зачем кеширование в нутрях происходит IDataReader - жирновато, ну да ладно. Всё правильно они делают, один раз получают свойство, а все последующие разы свойство достается из словаря. Наподобие вот этого: Рецепт - Emit property set-get value (Алексей К писал, я подпилил немного) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 14:46 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
cooldeveloper, в том то и дело, никаких словарей я не увидел или на что то похожее типа этого Код: c# 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:25 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
cooldeveloper, Ну да бог с ним не велика безделица, свою написать на раз проблем нет, может не увидел. В общем то и полез прозекцировать из за этого момента... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:31 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
Где-то в степи, мне лениво изучать их исходники. Лучше возьми коллекцию их нескольких десятков млн элементов и потестрируй на скорость все три маппера. Emit должен всех порвать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:33 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
cooldeveloperEmit должен всех порвать. Точно, как же я забыл про Emit. Вот он , дополнил коллекцию мапперов. P.S. Но как по мне, лучше иметь свой класс маппера из пары строк кода, чем тянуть эти левые кодплексовские сборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:35 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
[quot cooldeveloper]cooldeveloperP.S. Но как по мне, лучше иметь свой класс маппера из пары строк кода, чем тянуть эти левые кодплексовские сборки. Тут полностью с тобой согласен, не велика важность в этих сборках, тем более если смотреть сточки зрения датамаппера тянут они 90 процентов баласта.Самое главное принцип действия знать - быть вооруженным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:43 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
Где-то в степитянут они 90 процентов баласта.Самое главное принцип действия знать - быть вооруженным. +1 Тем более реальная разница замечается на десятках миллионах элементов. Как часто ты маппишь такое кол-во данных? У меня еще ни разу таких задач не было. Максимум, несколько десятков тысяч, которые маппятся за секунду и того меньше. Опять же, если нужна небольшая оптимизация и скорострельность, ее можно повысить процентов на 15% за счет кеширования и Emit доступа к свойствам. Просто берем и докручиваем этот Emit к своему мапперу. Лично пробовал, особо сильного профита я не получил, зато гавнокода добавилось немало. Сам зацени на эту жесть: emit Код: c# 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. Итого, если так важный эти эмитовские копейки, допиливаем. Мне и на классической рефлексии хорошо живется :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:50 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
Где-то в степиcooldeveloper, в том то и дело, никаких словарей я не увидел или на что то похожее типа этого Код: c# 1. 2. 3. 4. А пардон, посыпаю голову пеплом, скачал исходники - более понятно чем рефлектор. реализации Автомаппера идет через Emit кешируется делегат под получаемый тип. все вроде ок.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:02 |
|
||
|
IndexOutOfRangeException: Объясните дураку КАК такое вообще может быть?
|
|||
|---|---|---|---|
|
#18+
Где-то в степиболее понятно чем рефлектор Ты рефлектором смотрел код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38226323&tid=1358549]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 460ms |

| 0 / 0 |
