|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
Народ подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView ? В list и tree одинаковые 10000 элементов. Делается List.Sort() (-около 60мс) и TreeView.Sort() (около 3600мс) c одинаковыми компараторами. Компараторы специально сделаны полностью одинаковыми. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 18:16 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
ничего, что Tree вью это иерархия, а List<> список? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 18:30 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
List<> это массив. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 18:32 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
Видимо, у TreeView кишок по-более, чем у листа ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 19:22 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
Roman Mejtesничего, что Tree вью это иерархия, а List<> список? А я в примере не иерархию делаю, а именно список. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 21:00 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
тривью это визуальный элемент управления, а List<> это невизуальный объект. намек понятен? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 21:09 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
Antonariyтривью это визуальный элемент управления, а List<> это невизуальный объект. намек понятен? Непонятен. То что класс treeview может отображаться, еще не значит, что внутренние члены (типа коллекций) должны зависеть от этого... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 21:35 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
создай свой класс, наследованный от List<List<T>> и будет тебе счастье ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 21:39 |
|
Подскажите почему сортировка в List<> делается в 50 раз и более быстрей чем в TreeView
|
|||
---|---|---|---|
#18+
AlexanPAntonariyтривью это визуальный элемент управления, а List<> это невизуальный объект. намек понятен? Непонятен. То что класс treeview может отображаться, еще не значит, что внутренние члены (типа коллекций) должны зависеть от этого... Значит. У визуальных элементов методы синхронизированы для кросспоточных вызовов, плюс инициируют события. А у List<T>.Sort внутри банальный Array.Sort, который в лучшем случае O (n logn), в худшем - O (n ^ 2). Если сомневаетесь в вышеизложенном - курите исходники: List<T>.Sort , TreeView.Sort . ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2016, 06:19 |
|
|
start [/forum/topic.php?fid=20&fpage=61&tid=1400574]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 262ms |
total: | 397ms |
0 / 0 |