|
|
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Наткнулся на один интересный коммент Peter Below'a - https://en.delphipraxis.net/topic/576-maintaining-for-loops/?tab=comments#comment-4225 Instead of Код: pascal 1. use a list class: Код: pascal 1. 2. 3. 4. Add public methods to the class that implement your current for loops. This way you have all this code centralized in one place, which should massively simplify the maintenance. And while you're at it: convert the record into a class. Lists of records are a bit inefficient since accessing the items in the list involves a lot of copying of data. You can then use a TObjectlist<TProject> as base class for your TProjectlist and let the list manage the memory of the TProject objects you add to it (OwnsObjects parameter for the list constructor set to true, which is the default). Может кто "разжевать" выделенное жирным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:51 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYingМожет кто "разжевать" выделенное жирным? TObject это указатель. record это POD тип. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:56 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYing, очередная агитация за конвертить записи в классы, хотя казалось что идиоты кончились уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:03 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)очередная агитация за конвертить записи в классы, хотя казалось что идиоты кончились уже Да вроде как неудобно называть человека из команды TeamB идиотом :) Так стоит все же следовать его совету или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:28 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYingТак стоит все же следовать его совету или нет? Стоит мозгом подумать об отличии array of record от array of TObject. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:30 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYingkealon(Ruslan)очередная агитация за конвертить записи в классы, хотя казалось что идиоты кончились уже Да вроде как неудобно называть человека из команды TeamB идиотом :) Так стоит все же следовать его совету или нет?не стоит чудные люди, наплодят дырявых абстракций, а потом советы раздают как с этим жить сделай простую обёртку с получением адреса и все проблемы с производительностью исчезнут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:37 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
- Дверь? Котора дверь? - Котора дверь! Вот эта. - Эта? Прилагательна. - Почему ж? - Потому что она приложена к своему месту. всё хорошо в меру и к месту. но есть ещё и МОДНЫЕ веяния... а Петя Бигелоу, тот ещё "евангелист". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:37 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYingТак стоит все же следовать его совету или нет?Зависит от... Часто стоит в том числе и из-за перформанса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:41 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)чудные люди, наплодят дырявых абстракций, а потом советы раздают как с этим жить сделай простую обёртку с получением адреса и все проблемы с производительностью исчезнутНу конечно лучше плодить костыли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:42 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYing, Всё верно он говорит. 1. Что ты там будешь делать с TArray не понятно и не наглядно. 2. У массива нет методов 3. В результате - ты ничего не выигрываешь, кроме выноса мозга. 4. TList/TObjectList/TDictionary/TObjectDictionary - стандартные классы для работы со списками. Причём не только для Delphi. Не делай своих велосипедов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:44 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
21.01.2019 14:42, white_nigger пишет: > Ну конечно лучше плодить костыли не костыли, а аддоны! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:45 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
white_niggerНу конечно лучше плодить костылизачем костыли, обычный перевод STL, всё апробовано и работает нормальные итераторы, нормальные контейнеры без заскоков и выделения памяти на каждый чих куда деваться если стандартная либа вся в ляпах и недоделках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 14:52 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)LiYingпропущено... Да вроде как неудобно называть человека из команды TeamB идиотом :) Так стоит все же следовать его совету или нет?не стоит чудные люди, наплодят дырявых абстракций, а потом советы раздают как с этим жить сделай простую обёртку с получением адреса и все проблемы с производительностью исчезнут Все тут прям замучены нарзаном вопросом о производительности. А количество тактов процессора ты уже посчитал, которые выиграет TArray<> против TList<>? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 15:21 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Dimonka, к производительности взывают создатели сего творения, что вызвало у LiYing вполне здравый вопрос я просто говорю, что не вижу никакого смысла спорить кто быстрее черепаха или улитка кому надо делают нормальные либы и не парятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 16:01 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Ради быстродействия в своем TArrayEx<T> = record даже SetLength захакал. :) Типа так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 20:48 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Теоретик... Блин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 21:14 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
DimonkaА количество тактов процессора ты уже посчитал, которые выиграет TArray<> против TList<>? Дело не [только] в тактах, а в многократном выделении/освобождении кучи мелких кусочков памяти вместо одного большого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 22:39 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
LiYing, надо не разжовывать выделенное, а смотреть, что дальше написано -- это самое главное. Генерики наше всё. На порядок ускоряет разработку и снижают рутину. Долой бесконечную копипасту с самописными списками и рекордами. А уж про отладку -- так это манна небесная. Все на броневичок генериков! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 23:06 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
JaDi, одно другому не мешает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 00:11 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Gatorkealon(Ruslan), Теоретик... Блин.хотелось бы, но ещё и код выдавать нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 00:16 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
rgreatРади быстродействия в своем TArrayEx<T> = record даже SetLength захакал. :) Типа так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Чистым бредом попахивает, ей богу! Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Что может быть легче ??? Ну если это медленно, из за использования length то давайте развратимся Код: 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. Не уверен что при оптимизации это что то даст! Но давайте заменим SetLength на реаллок!!! Код: 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. Мне кажется,теперь эта по настоящему FAST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 03:36 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Что может быть легче ??? Ну если это медленно, из за использования length то давайте развратимся Вариант 1: Угу. Тупой вариант. Но при нем теряется целостность состава массива v. В конце будет мусор из неиспольземых элементов, что для меня неприемлемо. Вариант 2: Тоже самое, только через лоу-левел жопу. В моем-же варианте я имею и возможность безопасной прямой работы с элементами массива, при этом сохраняя скорость add. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 03:46 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Иными словами мой вариант при высокой скорости добавления элементов в массив сохраняет работоспособность функций Length(Array) и High(Array). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 03:49 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
rgreat, Кхм. Странное преимущество. Когда я могу просто MyArray.CurrentLength и получить текущий размер. rgreat В конце будет мусор из неиспольземых элементов, что для меня неприемлемо. А ты хранишь типа, ключи к другому массиву ??? Если в другом массиве удалилось значение, то в другом это отобразится и следующий добавленный элемент встанет на место удалённого? 0.722683 секунд, при добавление 50000000 элементов Код: 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. Самый простой 0.9 секунд Код: 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. На этот Я вообще НЕ надеялся. Но если убрать length то 0.9 сек Код: 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. А теперь обычный TList Код: 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. Выдал 0.724371 Короче выдумывать костыли не стоит ... Я теперь уверен что и твоя чуда магическая штука, не чуть НЕ быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 04:17 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Смог выжить чуточку быстрее Код: 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. 0.616766 Почему то, самый лучший результат, если по 21 выделять элемента. Ниже или выше.. Завывают медлительность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 04:36 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Разница между твоим и моим кодом не в скорости а в том что мой "скрывает" grow буффер в массиве от компилятора. И только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 05:08 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Т.е. если твой Plus=21 то после добавления 5 элементов твой массив будет выглядеть так: [0,1,2,3,4,0,0,0,0,0,0,... и так еще 11 раз] а мой так: [0,1,2,3,4] + "невидимый" буффер на 16 элементов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 05:12 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Как сам понимаешь полдьзоватся массивом в котором буффер "невидим" не в пример удобней. При той же высокой скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 05:14 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Смешной ты, ради вывода в дебаг-инфу настрочил столько бесполезного кода Насчёт авторПри той же высокой скорости. не верю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 05:52 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Чёт я решил, сделать элегантный вывод ! Вот, он Код: 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. Работает за 0.655926 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 06:39 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Всё. Из этого больше не выжить. 0.619081 сек А так же добавил метод init что бы поля почистить перед стартом Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 07:18 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, ищи уже работу, впустую время тратишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 08:16 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
rgreatРади быстродействия в своем TArrayEx<T> = record даже SetLength захакал. :) Реализовал то, что в FastMM делается и для массивов, и для строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 11:24 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Василий 2, Как-то хреново делается. Ибо тормозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 11:49 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, Интегеры добавляются здорово, ура! А теперь поудаляй из своего списка через одно поле. И желательно не integer, а какой-нибудь record <TProject> полей на 10-15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 12:00 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Если надо разово создать, например, миллион экземпляров, то массив рекордов будет быстрее, т.к. это один Alloc большого куска памяти (что гораздо быстрее миллиона маленьких) и нет миллиона вызовов конструктора. Eсли потом надо, например, сортировать список или добавлять/удалять элементы в середину, то с классами быстрее, т.к. это просто работа с указателем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 12:02 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоСмешной ты, ради вывода в дебаг-инфу Естессно не только ради дебаг инфы. Например arr1.items+arr2.items будет корректно работать. настрочил столько бесполезного кода"Столько" - это трочек 5? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 12:08 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
b0rk, >>добавлять/удалять элементы в середину и там и там не особо быстро сортировку с записями не факт, если стандартную сортировку на месте не использовать, ИМХО она уже моветон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 12:08 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
rgreat, Приятного знакомства http://docwiki.embarcadero.com/RADStudio/Rio/en/Operator_Overloading_(Delphi) А теперь магия удаления, алаба Кидабра Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Нет пустых элементов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 15:11 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Удаление с добавлением отработало за 0.598266 Код: 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. То есть за 0.000001 понадобилось что бы удалить 50000000 - 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 15:21 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Remove(100000); = 0.078513 Remove(1); = 0.085861 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 15:22 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдоrgreat, Приятного знакомства http://docwiki.embarcadero.com/RADStudio/Rio/en/Operator_Overloading_(Delphi) А теперь магия удаления, алаба Кидабра Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Это ты точно мне писал? Я про remove ничего не говорил. Нет пустых элементов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 17:58 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдоrgreat, Приятного знакомства http://docwiki.embarcadero.com/RADStudio/Rio/en/Operator_Overloading_(Delphi) А теперь магия удаления, алаба Кидабра Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Нет пустых элементов Это ты точно мне писал? Я про remove ничего не говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 17:59 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
rgreat, Нет, не тебе про удаления. Просто забыл ответ тому нажать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 18:10 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдоrgreat, Нет, не тебе про удаления. Просто забыл ответ тому нажать А теперь для затравки заценим перформанс для какого-нибудь упрощённого TProject с полями project_id project_nr internal_project_nr project_name start_date company_id im_company__name im_office__name service_line cost_center project_manager external_project_nr currency contact_name device_drug_name disease project_budget closing_date end_date Топикстартер хотел же именно <TProject> ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 12:50 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Dimonka, My - ArrayEx :: TForm -> 0.697550 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. TList :: TForm -> 0.798694 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Remove 50000000 div 2 My - ArrayEx :: TForm -> 0.038616 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. TList :: TForm -> 0.040716 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 14:01 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Я сейчас понял, что нужно было использовать TList от System.Generics.Collections Извиняюсь, извиняюсь! Что был глуп и слеп 0.993732 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. В общем мой ArrayEx выигрывает 0.296182 По удалению тоже самое что и у обычного TList плюс минус 0.0001 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 14:10 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Ну и что бы закрепить, тест ещё на integer 0.968195 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Когда мой даёт 0.585812 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 14:12 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, Вангую, что если нотификацию убрать (которой у тебя, к слову, нет), то будет примерно столько же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 17:04 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
makhaon, Что убрать? Создание ? Это не влияет. И нет, не будет. Там много разных вызовов функций, проверок и так далее. Так что - не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 17:18 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, Ну ландо, крутой массив. Осталось только обвязать его всем, чем положено: .Sort, .IndexOf, For in, копированием, владением объектами, совместимостью с TList итд и ВСЁ! можно использовать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 17:20 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
При вызове add от TList<Integer> Он вызывает Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Вызывает Код: pascal 1. 2. 3. 4. 5. 6. 7. На функцию DynArraySize можно не обращать внимания, она inline Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: pascal 1. 2. 3. 4. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 17:22 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Dimonka, Можно, но нужно ли? Всё же выигрыш в 0.3 - 0.4 сек не такой уж и важный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 17:23 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоDimonka, Можно, но нужно ли? Всё же выигрыш в 0.3 - 0.4 сек не такой уж и важный Так о чём и речь. Для каких-то специализированных целей можно ну очень специализированный список самому накалякать, а для универсального использования TList за глаза сойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 17:33 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоНу и что бы закрепить, тест ещё на integer 0.968195 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 00:03 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Bred eFeM ГирлионайльдоНу и что бы закрепить, тест ещё на integer 0.968195 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Твой сарказм уже не уместен. Могу привести, один важный факт. Моя реализация, на 50000000 элементов, потребляет 197 озу. Когда TList<Integer> потребляет на такое же количество, уже 262 озу То есть, в 65 мб больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 00:34 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Твой сарказм уже не уместенпочему сарказм, интересно: Код: 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. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 03:50 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Bred eFeM, Доверяй, но проверяй :) У тебя проблема в циклах! Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 04:18 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоBred eFeM, Доверяй, но проверяй :) У тебя проблема в циклах!эту проблему он кажется и тестит Bred eFeMДавай, запили ещё тест, когда заполняются несколько листов одновременно.а не последовательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 09:05 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоДоверяй, но проверяй :) У тебя проблема в циклах! о, спасибо, только это уже у тебя проблемы! Код: pascal 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Если кроме твоего одного ArrayEx никто память не дёргает, то возможно это и быстрее, но в рабочем режиме частые реаллоки хуже, что мы и видим при тесте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 12:57 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Bred eFeM, Мне кажется ты врёшь с тестами Нинадо так. Я же сейчас протестировал на i3 и там тоже выигрыш как и на core 2 duo e8400. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 13:54 |
|
||
|
Список классов vs списка записей - в чем преимущество?
|
|||
|---|---|---|---|
|
#18+
Тот код совершенно никак не может быть быстрее, по причине того, что там дёргается куча вызовов. А у меня в процедуре добавление только 1 проверка, которая срабатывает раз в год для того же SysReallocMem По этому, делаю вывод что ты врунишка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 13:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039896]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 469ms |

| 0 / 0 |
