Urgent.News

What's breaking now, across thousands of outlets.

Tech

pg_vectorsearch vs pgvector: The 42-Hour Vector Index Just Became a 100-Minute One

If you have ever kicked off a pgvector HNSW index build on a large embedding table and watched the hours tick by, the announcement Tiger Data made on October 13 reads like a targeted attack on your pain. Their new open-source extension, pg_vectorsearch, introduces an index called PRISM. On the same 128 GiB machine where a pgvector HNSW build over 100 million embeddings never finished at all,…

Tiger Data, the company behind TimescaleDB, introduced an open-source PostgreSQL extension called pg_vectorsearch, which includes a new index access method called PRISM. PRISM aims to address the issues users face when building large embedding tables with pgvector HNSW indexes that often take hours or even days to complete.

On a 128 GiB machine, PRISM finished building an index for 100 million embeddings in just 1 hour 40 minutes, whereas pgvector HNSW took 42 hours to do the same task on a 512 GiB machine. This demonstrates a significant performance improvement for PRISM. However, it is essential to note that PRISM requires PostgreSQL 18 or later, which may pose a challenge for many production deployments still on versions 15 through 17.

PRISM works by partitioning vectors into k-means clusters and storing them as compressed RaBitQ codes, allowing for faster index build times and smaller index sizes. In the benchmark tests, PRISM used 25 GB to store the same 100 million vectors, compared to HNSW's 180 GB. This reduction in index size results in faster query performance, with PRISM delivering 95% recall at a median latency of 6 ms, while HNSW took 8 ms on a machine with four times the memory.

Despite these positive aspects, PRISM is still in the alpha stage of development and is not recommended for production use. Some limitations include the need for manual rebalancing when there is heavy churn, deletions not reusing space, and the lack of support for filtered searches. Additionally, indexes created with PRISM should be recreated between releases, as they are considered disposable.

Before switching to PRISM, it is crucial to conduct independent benchmarking tests on your specific workload and hardware to determine if it offers the best performance improvement for your use case.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

The Bug Is on Every Android 17 Phone, but Not in the Source Code Anyone Can See

Last weekend, Visual Pinball on Android stopped loading pinball tables out of nowhere. Not all of them. Only the tables whose VBScript source contained a comment with an emoji somewhere in it.

  • Bug affects Android 17 phones since September 2026
  • wcscspn() and wcspbrk() functions fail in optimized binaries
  • Google acknowledges bug, provides fix despite source code mismatch

My first post as an indie gamedev

Hello, this is my first post on Dev.to!! I have been suggested by my relative to start blogging about my coding journey on this website since 2022 but I always find it quite corny to write about your…

  • Yuvraj Kumpavat starts indie game dev blog on Dev.to
  • Passionate about Unreal Engine, Unity, C++, C#, HLSL
  • Developing turn-based combat system for JRPG

Full-page screenshots that are actually complete: lazy loading, sticky headers, 100vh layouts and emoji

Disclosure: I build and sell one of the three screenshot tools compared below, a hosted screenshot Actor on Apify. This article was written with the help of AI; the numbers come from the public…

  • Lazy-loaded images cause blank rectangles in screenshots; author scrolls in steps to capture them
  • Sticky headers and fixed layers can be misplaced in stitched screenshots; author adjusts positions
  • 100vh layouts require resizing viewport or stitching slices; author uses fallback approach

More from Sunday 18 October →