|
|
|
Список классов 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 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39763025&tid=2039896]: |
0ms |
get settings: |
4ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 480ms |

| 0 / 0 |
