View Issue Details

IDProjectCategoryView StatusLast Update
0002462SAS.ПланетаРефакторинг / Refactoringpublic24-10-2014 14:32
Reporterzed Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status confirmedResolutionopen 
Product Version140505 
Target Version42xxxx 
Summary0002462: В подсистеме sml меток оптимизировать чтение геометрии
DescriptionСейчас вся геометрия читается при загрузке программы. Нужно всё переделать таким образом, чтобы при старте загружалась только "лёгкая" информация - IMarkId.
Всю же остальную часть (геометрию и описание, которое тоже может быть увесистым) нужно загружать строго "по требованию".
Additional InformationПровёл небольшой замер производительности загрузки программы с отключёнными метками (включено скрыть все). Так вот, загрузка и парсинг меток в датасет заняла 4 сек, плюс столько же времени заняло получение/парсинг геометрии из датасета и ещё столько же времени ушло на создание векторного объекта, который пользуется внутрях SAS.

В качестве теста использовал полигоны таймзон (самые детализированные), которые были импортированы заранее. Всего около 28 тыс. простых полигонов.

Таким образом, загрузку меток можно увеличить в 2-3 раза.
TagsNo tags attached.
Attached Files
perfcnt.png (4,933 bytes)   
perfcnt.png (4,933 bytes)   

Relationships

related to 0002463 confirmed В подсистеме sml меток оптимизировать поиск вхождения элементов в прямоугольник 

Activities

vdemidov

16-07-2014 18:59

manager   ~0014436

Не спорю. Я для того всю эту бодягу с IMarkId и поддерживаю, что бы можно было когда-нибудь это все дело оптимизировать.

vdemidov

17-07-2014 07:07

manager   ~0014441

О. Кстати. Перед тем как что-то оптимизировать сделай тестик в папочке Benchmark. Только грузить саму базу не из файла, а предварительно в мемористрим прочитать на стартапе. А саму базу c полигонами таймзон положить в папку Benchmark\Data.
Ну или хотя бы базу закинь, что бы мне не ковыряться, раз уж у тебя она есть.

zed

17-07-2014 07:48

manager   ~0014442

Там как бы 10 Мб в архиве. А в распакованном все 100.

vdemidov

17-07-2014 07:55

manager   ~0014443

Мда. Многовато. Может тогда частично, на пару мегабайт? Или придумать как-то автоматически нагенерировать для теста данных с похожим распределением?

zed

17-07-2014 12:57

manager   ~0014444

Да нагенерировать можно без проблем. Главное условие - несколько тысяч точек в полигонах. И чем больше точек будет, тем отчётливее будет тормозить на их парсинге.

vdemidov

17-07-2014 13:12

manager   ~0014445

Было бы очень хорош таки сделать какой-то тест производительности перед оптимизациями. Что бы можно было сравнивать более менее реальные числа.

Issue History

Date Modified Username Field Change
16-07-2014 18:05 zed New Issue
16-07-2014 18:05 zed File Added: perfcnt.png
16-07-2014 18:40 zed Relationship added related to 0002463
16-07-2014 18:59 vdemidov Note Added: 0014436
17-07-2014 07:07 vdemidov Note Added: 0014441
17-07-2014 07:48 zed Note Added: 0014442
17-07-2014 07:55 vdemidov Note Added: 0014443
17-07-2014 12:57 zed Note Added: 0014444
17-07-2014 13:12 vdemidov Note Added: 0014445
24-10-2014 14:32 vdemidov Status new => confirmed
24-10-2014 14:32 vdemidov Target Version => 42xxxx
08-08-2025 13:25 zed Category Рефакторинг => Рефакторинг / Refactoring