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