https://github.com/malbrain/Btree-source-code/wiki/High-Concurrency-B-tree
co o tym sądzicie?
Jak dla mnie wygląda całkiem dobrze - o niebo lepiej od tradycyjnych pomysłów z dziedziny 'baz danych'.
https://github.com/malbrain/Btree-source-code/wiki/High-Concurrency-B-tree
co o tym sądzicie?
Jak dla mnie wygląda całkiem dobrze - o niebo lepiej od tradycyjnych pomysłów z dziedziny 'baz danych'.
Z początku myślałem, że ma to być biblioteka.
Ale nie widzę:
Wszystko to wskazuje na to, że nie ma sensu zaglądać do środka.
Zajrzałem i widzę funkcje po 100 linii co jest nieczytelne niezależnie od języka.
Jeśli chcesz feedback to przydały by się wskazówki od czego zacząć i co ma to robić.
Możesz też zrobić fake "pull request" żeby wystawić "code review" na github (łatwiej wtedy komentować).
MarekR22 napisał(a):
Z początku myślałem, że ma to być biblioteka.
Ale nie widzę:
- nagłówków z API (nawet tym wewnętrznym), co również wskazuje, że źródła są od siebie niezależne.
- nic do zarządzania procesem budowania (make/cmake/…)
- nie widzę testów
- źródła ponazywane sufiksami z cyframi (sufiks sugerujące wersja - a od czego jest kontrola wersji)
Przecież tam na dole są różne testy: 10 milionów, 100 milionów, i w różnych wersjach: na 8, czy 16 procesach, itd.
Wszystko to wskazuje na to, że nie ma sensu zaglądać do środka.
Zajrzałem i widzę funkcje po 100 linii co jest nieczytelne niezależnie od języka.
Przecież to jest c, czyli ekstremalnie low-level, coś jak drivery...
Z tego co widzę są tam tylko z 3 albo 5 funkcji: dodawanie, usuwanie, szukanie - first, next.
Bardzo łatwo to obudować w klasę C++ i już można używać!
Ponadto są tam klucze zmiennej długości: 1 do 255B, co byłoby super zwłaszcza dla wszelkiego rodzaju słowników,
bo nie ma potrzeby limitować długości, jak to się zwykle robi:
np. string[80], a potem w bazie są same zera zapisywane: 'kot' i 77 zer, zamiast np. jedno tylko - marnotrawstwo dysku i czasu.