United Statesaduth/memize
Unabashedly-barebones memoization library with an aim toward speed
🚀 Memize: Memoization tốc độ cao siêu nhỏ gọn
Memize là một thư viện memoization tối giản, tối ưu tốc độ với bộ nhớ đệm LRU.
Memize là một thư viện memoization rất nhẹ, được thiết kế với mục tiêu tối ưu tốc độ. Nó sử dụng cấu trúc bộ nhớ đệm LRU (Least Recently Used) để xử lý hiệu quả các trường hợp gọi hàm lặp đi lặp lại với cùng một đối số.
✨ Điểm nổi bật
- Tốc độ nhanh: Sử dụng bộ nhớ đệm LRU, tối ưu cho gọi lại cùng đối số.
- Kích thước nhỏ: Dưới 0.3kb minified và gzipped, không phụ thuộc.
- Hỗ trợ mẫu đối số phổ biến: Bao gồm đối số đa và đối số không nguyên thủy (theo tham chiếu).
- Tùy chỉnh maxSize: Có thể cấu hình kích thước tối đa bộ nhớ đệm.
- Hỗ trợ làm mới bộ nhớ: Phơi bày hàm
clear()để đặt lại bộ nhớ đệm. - Tối ưu V8: Tránh deoptimization liên quan đến
argumentstrong V8.
💡 Vì sao đáng chú ý
Memize khác với các thư viện khác ở chỗ sử dụng danh sách liên kết kép để triển khai bộ nhớ đệm LRU, tránh chi phí của Array#unshift. Ngoài ra, nó so sánh bằng shallow equality thay vì JSON.stringify, giúp tăng tốc độ tra cứu. Đây là lựa chọn lý tưởng cho các ứng dụng cần tối ưu tốc độ và kích thước nhỏ.
#Memoization #JavaScript #LRUCache #TiniX
Similar Projects
Discover other similar projects and AI models.
A memoization library based on weakmaps. 🤯 Sometimes cache is kashe
Lazy infinite compact streams with cache-friendly O(1) indexing and applications for memoization
A fast cache that automatically deletes the least recently used items
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.