Anonymous | Login | Signup for a new account | 22-11-24 03:58 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002757 | SAS.Планета | [All Projects] Хотелка | public | 24-06-2015 13:57 | 27-03-2019 07:50 | ||||
Reporter | vasketsov | ||||||||
Assigned To | vdemidov | ||||||||
Priority | normal | Severity | minor | Reproducibility | N/A | ||||
Status | closed | Resolution | won't fix | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0002757: Реализация тайлового кэша в памяти на основе SQLite или Беркли | ||||||||
Description | Тайловый кэш в памяти по сути используется почти как Key-Value хранилище (в смысле, нет "диапазонных" запросов, так что целочисленный R*tree-индекс не нужен), кроме того, от него не требуется persistance, а про автоматическое восстановление после сбоев и думать нет необходимости. Соответственно, возможно что получится ускорить его работу и сделать его по-настоящему версионным, если сделать его на основе SQLite или Беркли. У SQLite есть возможность открыть базу :memory:, раскрутив по максимуму все локи, убрав синхронизации внутри движка (пока идёт SELECT, выполнение DELETE в любом случае не нарушит согласованности данных, а там вся задача-то - блоб дернуть) и т.п. Родной INTEGER там Int64 - так что x и y можно смело паковать вместе в одно поле id. Останется версия тайла + возможно некий идентификатор собственно карты или хранилища (который не меняется, пока программа работает, хоть даже Pointer, а при смерти интерфейса можно вычищать кэш в памяти). С идентификатором хранилища - кэш в памяти можно вообще сделать один на все хранилища, и чистить его по таймеру надо будет ровно также, только легче. Без - значит у каждого свой, как и сейчас. У Беркли наверняка есть аналогичные возможности, только надо будет настоящий Key соорудить (м.б. для приватного кэша в памяти для каждого хранилища отдельно даже будет быстрее всего работать). Это всё к тому, что есть подозрение, что вменяемый индекс по Key позволит выполнять операции над кэшем в памяти быстрее, чем сейчас, когда фактически Key строковый. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Notes | |
(0016244) vdemidov (manager) 30-07-2015 08:53 |
Ну, то что строковый индекс нужно менять тут сомнений нет. Но вот стоит ли для этих целей палить из пушки по воробьям у меня есть сомнения. Ограничения на общий расход памяти на процесс это не снимет, а только добавит накладных расходов. ИМХО просто пора переделать кэш в памяти на хэш таблицу. |
Users who viewed this issue | |
User List | Anonymous (1858x), Tolik (1x), rass (1x), vdemidov (9x), pfg21 (1x), anf (1x), gma (2x), zed (2x), GunSmoker (1x), DTy (1x), vasketsov (2x) |
Total Views | 1879 |
Last View | 22-11-2024 03:58 |
Issue History | |||
Date Modified | Username | Field | Change |
24-06-2015 13:57 | vasketsov | New Issue | |
30-07-2015 08:53 | vdemidov | Note Added: 0016244 | |
27-03-2019 07:50 | vdemidov | Status | new => resolved |
27-03-2019 07:50 | vdemidov | Resolution | open => won't fix |
27-03-2019 07:50 | vdemidov | Assigned To | => vdemidov |
27-03-2019 07:50 | vdemidov | Status | resolved => closed |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |