View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001927 | SAS.Планета | Рефакторинг / Refactoring | public | 13-05-2013 14:08 | 28-05-2013 06:20 |
| Reporter | vdemidov | Assigned To | zed | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | ||
| Product Version | 121010 | ||||
| Target Version | 131111 | Fixed in Version | 131111 | ||
| Summary | 0001927: Собрать dll с реализацией CityHash | ||||
| Description | Для реализации эффективного кэширования линий полигонов и бинарных тайлов нужно иметь хорошую быструю хэш функцию с выходом 64 бита. Под Delphi я нашел только CRC64, но у нее плохо с равномерностью. Хорошая функция CityHash но она достаточно сложная для портирования под делфи, поэтому эффективнее будет вынести ее в отдельную dll. Исходники живут по адресу http://code.google.com/p/cityhash/ Нужны такие функции: // Hash function for a byte array. uint64 CityHash64(const char *buf, size_t len); // Hash function for a byte array. For convenience, a 64-bit seed is also // hashed into the result. uint64 CityHash64WithSeed(const char *buf, size_t len, uint64 seed); // Hash function for a byte array. For convenience, two seeds are also // hashed into the result. uint64 CityHash64WithSeeds(const char *buf, size_t len, uint64 seed0, uint64 seed1); | ||||
| Tags | No tags attached. | ||||
| child of | 0002076 | resolved | vdemidov | Добавить в наборы векторных объектов хэш входящих в них объектов и операцию проверки равенства |
| child of | 0002077 | confirmed | Добавить вычисление хэша бинарных данных при загрузке из тайлохранилища | |
| child of | 0002078 | resolved | vdemidov | Добавить вычисление хэша для растровых объектов при создании |
|
|
Либа собралась, а вот тестовая утилитка - нет, так что за работоспособность не скажу. Тестируй, авось заведётся. |
|
|
А как у неё с коллизиями для массива lonlat будет? С murmur сравнивал? |
|
|
С коллизиями должно быть все хорошо. Собственно для массивов координат я и хочу использовать ее. Murmur3 128 бит, что вроде бы избыточно. А по качеству они вроде бы близки. |
|
|
Zed, спасибо большое. Я надеялся, что ты скопилось и собрался об этом попросить, а ты уже все сделал. |
|
|
>Murmur3 128 бит Так есть же Murmur2 какой-то вариант на 64 бита Впрочем по большому счёту играться без разницы с какой. ps. Тут кстати тоже Murmur упоминается: http://habrahabr.ru/post/117360/ |
|
|
>Впрочем по большому счёту играться без разницы с какой. Именно |
|
|
Я понимаю, что это уже наглость, но не мог бы ты сделать и простенький паскалевский юнит, что бы можно было эту dll пользовать в делфе? |
|
|
А в чём сложность написать прототипы для 3-х функций? Тут работы максимум на 10 минут... |
|
|
Да собственно никакой сложности разве что вопрос с типом вызова. Как я понимаю там cdecl. Просто у меня в последнее время и 10 минут нету :( |
|
|
>Как я понимаю там cdecl Да. >Просто у меня в последнее время и 10 минут нету Вот когда время появится, тогда и поговорим. Оно и dll небыло смысла сейчас собирать, если ты не собираешься пока ничего кодить. Чисто лежит под сукном до лучших времён... |
|
|
https://bitbucket.org/sas_team/cityhash |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 13-05-2013 14:08 | vdemidov | New Issue | |
| 13-05-2013 14:08 | vdemidov | Status | new => confirmed |
| 13-05-2013 14:10 | vdemidov | Description Updated | |
| 13-05-2013 17:55 | zed | File Added: CityHash.zip | |
| 13-05-2013 17:58 | zed | Note Added: 0011378 | |
| 13-05-2013 18:11 | zed | File Added: CityHash.VC2010.zip | |
| 13-05-2013 18:22 | vasketsov | Note Added: 0011379 | |
| 13-05-2013 18:55 | vdemidov | Note Added: 0011380 | |
| 13-05-2013 18:58 | vdemidov | Note Added: 0011381 | |
| 13-05-2013 19:29 | vasketsov | Note Added: 0011383 | |
| 13-05-2013 20:49 | vdemidov | Note Added: 0011384 | |
| 18-05-2013 17:51 | zed | Assigned To | => zed |
| 18-05-2013 17:51 | zed | Status | confirmed => feedback |
| 20-05-2013 11:05 | vdemidov | Note Added: 0011408 | |
| 20-05-2013 11:05 | vdemidov | Status | feedback => assigned |
| 21-05-2013 05:19 | zed | Note Added: 0011410 | |
| 21-05-2013 06:08 | vdemidov | Note Added: 0011411 | |
| 21-05-2013 06:21 | zed | Note Added: 0011412 | |
| 28-05-2013 05:11 | zed | File Deleted: CityHash.zip | |
| 28-05-2013 05:11 | zed | File Deleted: CityHash.VC2010.zip | |
| 28-05-2013 05:12 | zed | Note Added: 0011422 | |
| 28-05-2013 05:13 | zed | Status | assigned => resolved |
| 28-05-2013 05:13 | zed | Fixed in Version | => 131111 |
| 28-05-2013 05:13 | zed | Resolution | open => fixed |
| 28-05-2013 05:13 | zed | Status | resolved => closed |
| 28-05-2013 05:13 | zed | Target Version | 41xxxx => 131111 |
| 28-05-2013 06:20 | vdemidov | Status | closed => resolved |
| 09-08-2013 08:31 | vdemidov | Relationship added | child of 0002076 |
| 09-08-2013 08:40 | vdemidov | Relationship added | child of 0002077 |
| 09-08-2013 08:45 | vdemidov | Relationship added | child of 0002078 |
| 08-08-2025 13:25 | zed | Category | Рефакторинг => Рефакторинг / Refactoring |