sudofeed

dev · · 21:03 · 2 min de citit

jet-id: Un generator de ID-uri unice cu ~60% mai rapid decât nanoid

A fost dezvoltată o nouă bibliotecă pentru JavaScript și TypeScript numită jet-id, oferind o soluție unică de generare a ID-urilor, cu aproximativ 60% mai rapidă decât populara bibliotecă nanoid. Aceasta produce șiruri de caractere Crockford base32 de 28 de caractere, cu o funcție opțională de timestamp pentru sortarea după timpul creării.

A apărut o nouă bibliotecă, jet-id, ușoară și fără dependențe, pentru JavaScript și TypeScript, concepută pentru generarea identificatorilor unici. Această bibliotecă se distinge prin oferirea unei îmbunătățiri de performanță de aproximativ 60% față de populara nanoid, atingând în jur de 83 de milioane de ID-uri pe secundă pe un MacBook M4 Pro, comparativ cu cele 52 de milioane ale nanoid. ID-urile generate sunt șiruri de caractere Crockford base32 de 28 de caractere, concepute pentru a fi lizibile și pentru a evita caracterele confuze, cu un timestamp opțional codificat în primele nouă caractere pentru a permite sortarea după timpul creării.

Implementarea tehnică a jet-id utilizează mai multe tehnici de optimizare pentru a-și atinge viteza. Acestea includ procesarea în loturi a ID-urilor, generarea lor în blocuri de 256 folosind un singur apel la `crypto.getRandomValues` pentru o aleatorie suficientă (125 de biți per ID, depășind cei 122 de biți ai UUID v4) și utilizarea unui tabel de căutare pentru conversia eficientă a biților aleatori în caractere Crockford. În plus, ID-urile sunt procesate ca cuvinte de 32 de biți și convertite în șiruri de caractere o singură dată per bloc, minimizând supraîncărcarea. Biblioteca este, de asemenea, remarcabil de mică, având doar 6.4 kB împachetată și zero dependențe la runtime, făcând-o o opțiune atractivă pentru aplicațiile sensibile la performanță.

Implicațiile jet-id se extind la dezvoltatorii care caută generare de ID-uri mai rapidă și mai eficientă, în special în contexte de baze de date sau sisteme distribuite unde performanța este critică. Funcția sa opțională de timestamp abordează direct nevoia de ID-uri sortabile, o cerință comună care necesită adesea câmpuri separate de timestamp sau soluții mai complexe. Cu compatibilitatea sa universală pe Node.js și browsere moderne, jet-id prezintă o alternativă convingătoare pentru dezvoltatorii care doresc să optimizeze performanța aplicațiilor lor și să simplifice gestionarea ID-urilor.

$ sursa --originală

dev.to

Rezumat realizat de Sudofeed pe baza articolului original. Drepturile asupra conținutului aparțin sursei originale.

citește originalul ↗