View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001927SAS.ПланетаРефакторингpublic13-05-2013 14:0828-05-2013 06:20
Reportervdemidov 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version121010 
Target Version131111Fixed in Version131111 
Summary0001927: Собрать 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);
TagsNo tags attached.
Attached Files

- Relationships
child of 0002076resolvedvdemidov Добавить в наборы векторных объектов хэш входящих в них объектов и операцию проверки равенства 
child of 0002077confirmed Добавить вычисление хэша бинарных данных при загрузке из тайлохранилища 
child of 0002078resolvedvdemidov Добавить вычисление хэша для растровых объектов при создании 

-  Notes
(0011378)
zed (manager)
13-05-2013 17:58

Либа собралась, а вот тестовая утилитка - нет, так что за работоспособность не скажу. Тестируй, авось заведётся.
(0011379)
vasketsov (manager)
13-05-2013 18:22

А как у неё с коллизиями для массива lonlat будет?
С murmur сравнивал?
(0011380)
vdemidov (manager)
13-05-2013 18:55

С коллизиями должно быть все хорошо. Собственно для массивов координат я и хочу использовать ее.
Murmur3 128 бит, что вроде бы избыточно. А по качеству они вроде бы близки.
(0011381)
vdemidov (manager)
13-05-2013 18:58

Zed, спасибо большое. Я надеялся, что ты скопилось и собрался об этом попросить, а ты уже все сделал.
(0011383)
vasketsov (manager)
13-05-2013 19:29

>Murmur3 128 бит
Так есть же Murmur2 какой-то вариант на 64 бита
Впрочем по большому счёту играться без разницы с какой.
ps. Тут кстати тоже Murmur упоминается:
http://habrahabr.ru/post/117360/
(0011384)
vdemidov (manager)
13-05-2013 20:49

>Впрочем по большому счёту играться без разницы с какой.
Именно
(0011408)
vdemidov (manager)
20-05-2013 11:05

Я понимаю, что это уже наглость, но не мог бы ты сделать и простенький паскалевский юнит, что бы можно было эту dll пользовать в делфе?
(0011410)
zed (manager)
21-05-2013 05:19

А в чём сложность написать прототипы для 3-х функций? Тут работы максимум на 10 минут...
(0011411)
vdemidov (manager)
21-05-2013 06:08

Да собственно никакой сложности разве что вопрос с типом вызова. Как я понимаю там cdecl. Просто у меня в последнее время и 10 минут нету :(
(0011412)
zed (manager)
21-05-2013 06:21

>Как я понимаю там cdecl
Да.

>Просто у меня в последнее время и 10 минут нету
Вот когда время появится, тогда и поговорим. Оно и dll небыло смысла сейчас собирать, если ты не собираешься пока ничего кодить. Чисто лежит под сукном до лучших времён...
(0011422)
zed (manager)
28-05-2013 05:12

https://bitbucket.org/sas_team/cityhash

- Users who viewed this issue
User List Anonymous (1853x)
Total Views 1853
Last View 26-01-2020 00:55

- Issue History
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 View Revisions
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 22xxxx => 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



Copyright © 2007 - 2020 SAS.Planet Team