High Concurrency B tree – co o tym sądzicie?

0

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'.

0

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)

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ć).

0
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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1