The future of code search is not regex – 100x faster than ripgrep

(fff.dmtrkovalenko.dev)

50 points | by neogoose 6 hours ago

18 comments

  • kristopolous 5 hours ago
    I ran across this fascinating tool a few days ago researching embedding models on hugging face.

    Advertised as "ColGREP Semantic code search for your terminal and your coding agents",

    I haven't put it in any harness yet but I probably should.

    https://github.com/lightonai/next-plaid/tree/main/colgrep

    I've also tried astgrep (also known as sg) but llms really mess up on them. I think you'd need to fine tune.

    If anyone has cracked that case I'd love to hear about it

  • JoeDohn 13 minutes ago
    I saw this yesterday it claims it's faster than Ripgrep, it uses regex and rg : https://github.com/erogol/ngi.
  • wiseowise 3 hours ago
    The future is lack of scrolling on mobile, and scanning getting stuck, apparently.
    • narinciye 1 hour ago
      You don't miss much, don't worry, it also looks horrible on desktop.
  • genewitch 4 hours ago
    considering that ripgrep has marginal overhead over just reading the files to /dev/null, how exactly does this achieve 100x speedup?

    I have a lot of use for something that can search ~1GB of text "instantly", but so far nothing beats rg/ag after the data has been moved into RAM.

    • anilakar 4 hours ago
      The trick to optimization is not "doing faster" but "doing less". I already feel rg is missing a ton of results I want to see because it has a very large ignore list by default.
    • Yokohiii 1 hour ago
      The crate says it uses SIMD, but the crate also says that content search is 20-50 times faster. Maybe the guy unsure how fast it is or how much speedup he should claim to get recognition.
  • austinjp 1 hour ago
    To save people the digging, here's the git repo:

    https://github.com/dmtrKovalenko/fff.nvim

    "FFF stands for freakin fast fuzzy file finder (pick 3) and it is an opinionated fuzzy file picker for your AI agent and Neovim. Just for file search, but we do the file search really fff well.

    FFF is a tool for grepping, fuzzy file matching, globbing, and multigrepping with a strong focus on performance and useful search results. For humans - provides an unbelievable typo-resistant experience, for AI agents - implements the fastest file search with additional free memory suggesting the best search results based on various factors like frecency, git status, file size, definition matches, and more."

    • adrian17 12 minutes ago
      So the repo builds:

      - C library - neovim plugin - MCP server

      But not a plain binary, which is the main way ripgrep is directly used (...at least by humans), and compared with.

  • CodesInChaos 1 hour ago
    Where can I find the benchmark for the "20-50 times faster than ripgrep" claim from the documentation, or the "100x faster" claim from the HN submission title?

    Ripgrep already has optimizations for regex which don't contain any patterns (or even just regex which contain such substrings). So "not regex" shouldn't be what makes the difference.

  • neogoose 6 hours ago
    I have open sourced the fastest code search implementation. Comprehensive SDK for both file finder and grep file search that is over 100x faster than ripgrep
    • siva7 4 hours ago
      I don't get this submission title. Your tool uses regex but the title claims the future is not about regex.
      • molszanski 4 hours ago
        I think it is about input. Before I had to type regex, now I just type text and fuzzy finds more, regex style. Awkward wording, but code seems cool.
    • MaxMonteil 6 hours ago
      This looks cool!

      You should add a link to the GitHub repo for the project itself, at first I wasn't even sure what it was called.

      I found this link https://github.com/dmtrKovalenko/fff.nvim

    • jcgrillo 1 hour ago
      k, but what actually are you talking about?
  • pjmlp 3 hours ago
    It has never been ripgrep for decades for those of us on IDEs.
    • e12e 1 hour ago
      To be fair, ripgrep is approximately one decade old, would be tricky to have used it for decades.

      http://blog.burntsushi.net/ripgrep/

      https://news.ycombinator.com/item?id=12564442

    • kzrdude 2 hours ago
      However, it's coming up on a decade (8 years) of vscode using ripgrep behind the scenes.
      • pjmlp 2 hours ago
        A programmer's editor. However with the right plugins, you get the same IDE capabilities for code searching in Java, C#, C++,...

        Which basically runs an IDE headless (Eclipse, Netbeans, VS services,...), the joy of running an IDE + Electron, get to put those cores to use.

    • gzread 2 hours ago
      Has there been a general gentle decline in IDEs over the past 15 years or is it just me?
      • pjmlp 2 hours ago
        Maybe for a generation that has learnt to program with IDE poorly supported languages.
      • vovavili 1 hour ago
        Zed has made me rethink this opinion.
  • swiftcoder 4 hours ago
    Is there a write up of the underlying approach? The summary on the repo mentioned SIMD, but not a whole lot else.
  • self_awareness 2 hours ago
    I've entered "bazel" and got `shellPrefix.ts` which doesn't relate to bazel in any way.

    If that's the future then I'll stay in the past with ripgrep.

    • _blk 1 hour ago
      It's O(1) with a correctness of O(0)
  • asdfadsfaf 4 hours ago
    I don't get it how can I search anything but the file name?
  • hugodan 3 hours ago
    Why do all vibecoded sites look the same? Same black on neon vibes and button styles
  • dig1 4 hours ago
    ctags, GNU Global and even "ugrep -Q" would like to have a few words with you ;)
  • globular-toast 4 hours ago
    Why is it "for neovim"? Surely such a thing would be useful in many applications?
    • ramon156 4 hours ago
      Because it's being dishonest from multiple angles.

      - it has regex, so the title is weird - it definitely wouldn't be 100x faster than rg - its an sdk, so its apples to oranges anyway

  • schrodinger 5 hours ago
    How's it work? Embed tokens and use euclidean distance or something?
  • jcgrillo 1 hour ago
    what even is this
  • forrestthewoods 3 hours ago
    Websites that don’t tell me what they’re doing are infuriating. I’m on mobile. This landing page experience is awful.
    • stunpix 2 hours ago
      For desktops it's not different.
  • hyperlambda 1 hour ago
    [dead]