文件名称:ristretto:高性能的内存绑定Go缓存
文件大小:330KB
文件格式:ZIP
更新时间:2024-02-23 10:10:59
go golang library performance cache
里斯特雷托 Ristretto是一个快速并发的缓存库,其重点是性能和正确性。 建立Ristretto的动机来自对无争用缓存的。 使用报告有关此存储库的问题。 产品特点 高命中率-通过我们独特的录取/逐出策略配对,Ristretto的性能是同类产品中最好的。 驱逐:SampledLFU-与精确的LRU相当,并且在搜索和数据库跟踪上具有更好的性能。 准入:TinyLFU-额外的性能,几乎没有内存开销(每个计数器12位)。 快速吞吐量-我们使用各种技术来管理争用,结果是出色的吞吐量。 基于成本的逐出-任何被认为有价值的大型新物品都可以驱逐多个较小的物品(成本可以是任何东西)。 完全并发-您可以使用任意数量的goroutine,而不会降低吞吐量。 指标-吞吐量,点击率和其他统计信息的可选性能指标。 简单的API-只需找出理想的Config值,即可开始运行。 状态 Ristretto可用,但仍在积极开发中。 我们预计它将在不久的将来投入生产。 目录 用法 例 func main () { cache , err := ristretto . NewCache ( & ris
【文件预览】:
ristretto-master
----go.mod(494B)
----test.sh(582B)
----z()
--------calloc_32bit.go(485B)
--------allocator_test.go(4KB)
--------bbloom.go(6KB)
--------calloc_nojemalloc.go(953B)
--------bbloom_test.go(2KB)
--------rtutil.s(0B)
--------z_test.go(3KB)
--------calloc_64bit.go(483B)
--------rtutil.go(3KB)
--------LICENSE(3KB)
--------buffer.go(13KB)
--------mmap_unix.go(2KB)
--------rtutil_test.go(5KB)
--------mmap_darwin.go(2KB)
--------histogram.go(4KB)
--------simd()
--------mmap_plan9.go(1KB)
--------allocator.go(8KB)
--------btree.go(15KB)
--------btree_test.go(10KB)
--------file.go(6KB)
--------README.md(5KB)
--------file_default.go(1KB)
--------mmap.go(1KB)
--------file_linux.go(1KB)
--------z.go(4KB)
--------buffer_test.go(7KB)
--------calloc.go(2KB)
--------mmap_linux.go(3KB)
--------mmap_windows.go(2KB)
--------calloc_jemalloc.go(5KB)
--------calloc_test.go(3KB)
----sim()
--------sim.go(5KB)
--------sim_test.go(2KB)
--------gli.lirs.gz(6KB)
----store_test.go(4KB)
----LICENSE(10KB)
----sketch_test.go(2KB)
----CHANGELOG.md(1KB)
----contrib()
--------memtest()
--------demo()
--------memtestc()
----go.sum(9KB)
----cache.go(19KB)
----ring.go(3KB)
----ring_test.go(1KB)
----.github()
--------CODEOWNERS(203B)
--------ISSUE_TEMPLATE(151B)
--------workflows()
----.deepsource.toml(189B)
----sketch.go(4KB)
----stress_test.go(3KB)
----README.md(8KB)
----ttl.go(3KB)
----policy.go(10KB)
----benchmarks()
--------Hit Ratios - CODASYL (ARC-OLTP).svg(91KB)
--------Throughput - Write (Zipfian).svg(130KB)
--------Hit Ratios - Search (ARC-S3).svg(148KB)
--------Hit Ratios - Glimpse (LIRS-GLI).svg(101KB)
--------Throughput - Read (Zipfian).svg(131KB)
--------Hit Ratios - Database (ARC-DS1).svg(157KB)
--------Throughput - Mixed.svg(127KB)
----cache_test.go(18KB)
----policy_test.go(5KB)
----store.go(6KB)