Daniël Bernstein përditësoi bibliotekën cdb

Daniel J. Bernstein, një ekspert i njohur në fushën e kriptografisë dhe krijimit të softuerëve të sigurt, i cili ka zhvilluar projekte të tilla si qmail, djbdns, NaCl, Ed25519, Curve25519 dhe ChaCha20-Poly1305, publikoi versionin 20250121 të projektit cdb, i cili ofron një format ruajtjeje të të dhënave dhe një bibliotekë të shoqëruar për integrimin e funksioneve për punë me bazat e të dhënave në formën çelës\/vlerë. Ky version u formua pas më shumë se 25 vitesh nga azhurnimi i fundit të cdb 0.75, i cili u formua në shkurt 2000.

Në versionin e ri është realizuar formati cdb64, i përkthyer në struktura me tipa 64-bit. Në platformat 64-bit, formati i ri lejon krijimin e bazave të të dhënave me madhësi deri në eksabajt (më parë madhësia e bazës së të dhënave nuk mund të kalonte 4 GB). Baza e të dhënave është shumë kompakte dhe përdor një kokë 4096-byte dhe 48 byte informacion shërbimi për çdo rekord (për variantin 32-bit, koka është 2048 dhe 24 byte për rekord). Kur aksesohet baza e të dhënave, kryhen vetëm dy operacione të aksesit në disk në rastin e një çelësi dhe një në rastin e mungesës. Mbështetet zëvendësimi atomik i bazës së të dhënave, i qëndrueshëm ndaj përfundimeve të papritura dhe pa bllokuar qasjen në lexim.

Ndrytime të tjera:

  • MbĂ«shtetje pĂ«r ndĂ«rtimin me pĂ«rdorimin e skenarit configure dhe instalimin me komandĂ«n "make install".
  • Heqja e lidhjes sĂ« skenarĂ«ve testues me csh.
  • TĂ« gjithĂ« vlerat e brendshme tĂ« plota janĂ« zĂ«vendĂ«suar me tipin "num", i pĂ«rcaktuar si "long long". Funksionet uint32, fmt dhe scan janĂ« zĂ«vendĂ«suar me funksione qĂ« punojnĂ« me tipin num.
  • Interface e punĂ«s me buferat Ă«shtĂ« ndarĂ« nĂ« inbuf dhe outbuf. ËshtĂ« bĂ«rĂ« njĂ« pastrim i interfaces hier.
  • JanĂ« hequr nga kodi pĂ«rcaktimet e funksioneve tĂ« pa pĂ«rdorura.
  • KĂ«to mbĂ«shtetje tĂ« tilla si str_len, alloc, uint32, exit, error dhe systype janĂ« ndaluar.
  • Kodi Ă«shtĂ« rishkruar pĂ«r tĂ« ndaluar pĂ«rdorimin e konventave tĂ« vjetra tĂ« C-sĂ«, tĂ« tilla si stilin e vjetĂ«r tĂ« pĂ«rcaktimit tĂ« funksioneve, prototipat e zbrazĂ«t dhe stilin e vjetĂ«r tĂ« pĂ«rcaktimit tĂ« main().
  • JanĂ« angazhuar pĂ«rcaktimet const dhe static.
  • Kur ndĂ«rtohet, Ă«shtĂ« aktivizuar flag-u "-Wall", dhe kodi Ă«shtĂ« pastruar pĂ«r tĂ« eliminuar paralajmĂ«rimet.
  • GjatĂ« kompaktimit janĂ« pĂ«rfshirĂ« opsionet -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing dhe -fno-strict-overflow.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster