nowfound

Dev tools · alternatives · 2026

24 alternatives to I built a Ruby gem that handles memoization with a ttl

I built a Ruby gem for memoization with TTL + LRU cache. It’s thread-safe, and has been helpful in my own apps. Would love to get some feedback: https://github.com/mishalzaman/memo_ttl

Memo TTL is a Ruby gem that caches method results with time-based expiration and automatic eviction of least-used entries. Built for Ruby developers, it combines memoization with TTL (time-to-live) and LRU cache… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.

  1. 1

    Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…

    2023 · github.com · its alternatives →

  2. 2

    LRU cache using go generics. Contribute to dboslee/lru development by creating an account on GitHub.

    2022 · github.com · its alternatives →

  3. 3

    > "In a world without nil safety, one gem dares to ask: 'What if we just guessed?'"

    Oct 2025 · github.com · its alternatives →

  4. 4

    Hello HN, I introduce a property-based testing tool for Ruby. Ruby's ease of test-writing and rich ecosystem are widely acclaimed. However, property-based testing is not as widely used as in other languages such as Haskell or Elixir, and I think this is because there is no de facto testing tool. This gem currently not only has the basic functionality of stateless property-based testing but also has the following features: - Support verbose mode that allows you to see its shrinking procedure and algorithms. - Support several concurrency/parallel executions of each test. As of now,…

    2024 · github.com · its alternatives →

  5. 5

    Simple in-memory Key/Value Store written in Elixir using `cabol/ex_shards` - cabol/kvx

    2016 · github.com · its alternatives →

  6. 6FB
  7. 7

    Hey folks, wanted to show this off and get feedback. Still early/experimental but there are quite a few concepts I'm excited about here. This project came about while writing a program in Go and loving its approach to concurrency. Being a long-time Rubyist I immediately started to think about what similar concepts might look like in Ruby. I set out with two main design constraints: 1. Lightweight: I didn't want routines to be backed by fibers or threads. Having been involved some in the async project (https://github.com/socketry/async), I had some experience using…

    2023 · github.com · its alternatives →

  8. 8

    allocscope - a memory tracking tool. Contribute to matt-kimball/allocscope development by creating an account on GitHub.

    2023 · github.com · its alternatives →

  9. 9

    An interactive Ruby Object Graph Visualization. Contribute to mattbaker/ruby-heap-viz development by creating an account on GitHub.

    2014 · github.com · its alternatives →

  10. 10

    Reduce Rails allocations by 35%+ and gain a speed boost. Memoizes asset links. - public-law/asset_ram

    2021 · github.com · its alternatives →

  11. 11

    Fast(est), sharded Go cache with lock-free reads, self-adaptive SieveTinyLFU, batched async writes and HTTP middleware. - unkn0wn-root/kioshun

    2025 · github.com · its alternatives →

  12. 12

    High-performance cache policies and supporting data structures for Rust systems, with optional metrics and benchmarks. - OxidizeLabs/cachekit

    Jan 2026 · github.com · its alternatives →

  13. 13

    Fast, secure, configurable. A bold new take on Nix caching.

    2024 · determinate.systems · its alternatives →

  14. 14BA

    Hi HN, Erik here. Today we launch Butter, an OpenAI-compatible API proxy that caches LLM generations and serves them deterministically on revisit. Since April, we’ve been working on this concept of “muscle memory,” or deterministic replay, for agent systems performing automations. You may recall our first post in May, launching a python package called Muscle Mem: https://news.ycombinator.com/item?id=43988381 Since then, the product has evolved entirely, now taking the form of an LLM Proxy. For a deep dive into this process, check out:…

    2025 · docs.butter.dev · its alternatives →

  15. 15

    Tach is a pip package that lets you define module boundaries, automatically detect all cross-module dependencies, and then validate and enforce those dependencies. It also supports strict interfaces for modules by overloading `__all__`. The core static analysis is done in Rust, so all Tach commands run quickly. The goal of Tach is to help eng teams maintain velocity while scaling quickly, something we've seen break down a number of times. Give it a try!

    2024 · github.com · its alternatives →

  16. 16

    Cache management for Rails. Contribute to alvesjtiago/fastentry development by creating an account on GitHub.

    2019 · github.com · its alternatives →

  17. 17

    Hi everyone, I've been working on this thing for a while. It transpiles Haml into Ruby, and then it streams patches to the browser which update the DOM. There is a memory leak in s.rb, which I'm not really sure how to solve. Seems like objects stay alive for longer than they should because of circular references or something but I'm not sure what's going on to be honest. I think this approach has potential though.

    2023 · github.com · its alternatives →

  18. 18

    We're excited to announce that we've open-sourced LeanRL, a lightweight PyTorch reinforcement learning library that provides recipes for fast RL training using torch.compile and CUDA graphs. By leveraging these tools, we've achieved significant speed-ups compared to the original CleanRL implementations - up to 6x faster! Reinforcement learning is notoriously CPU-bound due to the high frequency of small CPU operations. PyTorch's powerful compiler can help alleviate these issues, but comes with its own costs. LeanRL addresses this challenge by providing simple recipes to accelerate your…

    2024 · github.com · its alternatives →

  19. 19

    Local persistent memory store for LLM applications including claude desktop, github copilot, codex, antigravity, etc. - CaviraOSS/LongMemory

    Dec 2025 · github.com · its alternatives →

  20. 20

    Ruby Gem to make variables and objects durable. Contribute to philsippl/durable development by creating an account on GitHub.

    2016 · github.com · its alternatives →

  21. 21

    I've been working on Fast LiteLLM - a Rust acceleration layer for the popular LiteLLM library - and I had some interesting learnings that might resonate with other developers trying to squeeze performance out of existing systems. My assumption was that LiteLLM, being a Python library, would have plenty of low-hanging fruit for optimization. I set out to create a Rust layer using PyO3 to accelerate the performance-critical parts: token counting, routing, rate limiting, and connection pooling. The Approach - Built Rust implementations for token counting using tiktoken-rs - Added lock-free data…

    Nov 2025 · github.com · its alternatives →

  22. 22

    Built this for streaming AI tool calls. LLMs stream function arguments as JSON character-by-character. Most parsers reparse from scratch each time - O(n²) behavior that causes UI lag. This maintains parsing state, processing only new characters. True O(n) performance that stays imperceptible throughout the entire response. Ruby gem, MIT licensed. Would love feedback.

    2025 · aha.io · its alternatives →

  23. 23

    Fast PUT/GET/DELETE in-memory key-value store for lookaside caching - jonhoo/cucache

    2015 · github.com · its alternatives →

  24. 24

    Raymond here from Butter.dev, an LLM response cache built as a chat-completions proxy. Today we're launching a key feature for the platform: the ability to generalize on dynamic, templated inputs. Caching at the HTTP request level has the obvious problem of generalizability. Nearly no request is identical, due to templated variables (like names) and metadata (like timestamps), so exact-match cache lookups rarely hit. We solve this at Butter by using LLMs to detect dynamic content in requests and derive their inter-relationships, allowing the cache entry to be stored as a template + variables…

    Jan 2026 · blog.butter.dev · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →