commonsmachinery / hmsearch Goto Github PK
View Code? Open in Web Editor NEWC++ implementation of hamming distance algorithm HmSearch using Kyoto Cabinet
License: MIT License
C++ implementation of hamming distance algorithm HmSearch using Kyoto Cabinet
License: MIT License
Implement HmSearch::remove()
hello,
hmsearch no longer compile under linux 4.9.75-1-lts with g++ 7.2.1 and kyotocabinet 1.2.76 :
hmsearch-master $ LANG=us make
g++ -g -Wall -D_FILE_OFFSET_BITS=64 -c -o hmsearch.o hmsearch.cc
In file included from hmsearch.cc:15:0:
/usr/include/kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
/usr/include/kcdbext.h:1281:14: error: cannot convert 'bool' to 'char*' in return
return false;
^~~~~
hmsearch.cc: In static member function 'static bool HmSearch::init(const string&, unsigned int, unsigned int, uint64_t, std::__cxx11::string*)':
hmsearch.cc:120:10: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
std::auto_ptr<kyotocabinet::HashDB> db(new kyotocabinet::HashDB);
^~~~~~~~
In file included from /usr/include/c++/7.2.1/memory:80:0,
from hmsearch.cc:12:
/usr/include/c++/7.2.1/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
hmsearch.cc: In static member function 'static HmSearch* HmSearch::open(const string&, HmSearch::OpenMode, std::__cxx11::string*)':
hmsearch.cc:188:10: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
std::auto_ptr<kyotocabinet::PolyDB> db(new kyotocabinet::PolyDB);
^~~~~~~~
In file included from /usr/include/c++/7.2.1/memory:80:0,
from hmsearch.cc:12:
/usr/include/c++/7.2.1/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
make: *** [<builtin>: hmsearch.o] Error 1
regards, lacsaP.
Add a HmSearch::connect()
method to connect to a Kyoto Tycoon server instead of opening a local file. This will allow multiple processes to use the same database in write mode, and to have clients on a different server than the database.
More info on Kyoto Tycoon: http://fallabs.com/kyototycoon/
The database size grows exponentially when using HashDB on hashed images. Some improvements can be gotten by changing the order in which records are inserted, but for larger data sets this doesn't matter. Completely random hashes result in smaller db sizes than real world hashed image data.
Changing from a HashDB to a TreeDB in Kyoto (branch kyoto-tree) makes the db size significantly smaller, and grows linearly against new inserts, but at the cost of complexity (O(log N) instead of O(1)).
postgres branch doesn't handle errors properly and causes the catalog to segfault
Create proper configure/build script to replace the simple Makefile.
The standard autoconf/automake/libtool setup is not enticing, so perhaps use waf.
The catalog is now running with experimental postgresql support, but we should support the postgres backend officially.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.