SShortSingh.
Back to feed

Conviva replaces mmap with io_uring in Rust query engine, sees performance drop

0
·1 views

Conviva engineers swapped out memory-mapped I/O (mmap) in favour of io_uring within their Rust-based query engine, expecting a performance boost. The experiment yielded the opposite result, with the engine running slower after the change. The team documented their findings in a technical blog post, offering insight into the real-world trade-offs between the two I/O approaches. The results highlight that io_uring, despite its modern design and growing reputation, does not universally outperform established alternatives like mmap in all workloads.

Read the full story at Hacker News

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Why a Developer Deleted Clean AI-Generated Code to Build Something Truly Original

A software developer writing on DEV Community argues that AI's advantage over any individual is limited precisely to the boundaries of that person's own ignorance — no further. While acknowledging AI's superior recall of syntax, algorithms, and documented solutions, the developer contends that it can only remix what already exists and cannot originate a vision for something entirely new. The author deleted a cleaner, AI-style function and replaced it with a slower, idiosyncratic one because that imperfect version contained a behaviour no standard solution would produce — one central to the product's purpose. The piece frames AI's knowledge gaps not as a threat but as a personal to-do list, arguing that every subject learned deeply removes one more area where the tool holds an edge. Ultimately, the developer concludes that authorship and taste are inseparable from the product itself, and outsourcing key decisions — even to a better output — hollows out the work's identity.

0
ProgrammingDEV Community ·

CF7 to Google Sheets Drops Submissions Due to Shared API Quota Across All Users

WordPress site owners reported that roughly one in three Contact Form 7 submissions never reached their Google Sheets spreadsheet, even though email notifications and local database entries were recorded correctly. The GSheetConnector support team confirmed the cause: the free version of the plugin routes all API calls through the developer's single Google Cloud project, meaning thousands of sites share one 300-requests-per-minute quota. When that shared quota is exhausted, Google returns a 429 error and the submission is silently discarded without any alert to the site owner. The problem worsens as the plugin gains more installations, since more sites compete for the same limited quota bucket. The recommended fix is for each site owner to register their own Google Cloud project and connect the plugin to personal API credentials, effectively isolating their quota from all other users.

0
ProgrammingDEV Community ·

Developer Builds PDF Chat API in One Day Using FastAPI, Gemini, and Qdrant

A developer built a fully functional PDF Chat API in a single day, allowing users to upload PDF documents and ask questions about their content using natural language. The system uses a Retrieval Augmented Generation (RAG) architecture, combining Google Gemini for embeddings and chat, Qdrant as a vector database, and LangChain for pipeline orchestration. During ingestion, PDF text is split into chunks, converted into 3072-dimensional vectors via Gemini, and stored in Qdrant; at query time, the most relevant chunks are retrieved and passed to Gemini to generate an answer. The project includes a REST API with authentication, a plain HTML/CSS web interface, and is deployable on Qdrant's free cloud tier. The developer plans to add multi-user support, Docker deployment, and compatibility with other document formats such as Word and Excel.

0
ProgrammingDEV Community ·

AI Agents Can't Be Sued: Why Liability Trails Back to Human Operators

When an AI agent autonomously negotiates and signs a contract, it cannot be held legally liable because software has no legal personhood. Legal systems universally agree that liability travels back along the chain of delegation until it reaches a human or entity that can be sued or fined. The challenge becomes more complex in multi-hop deployments where a principal authorizes an agent, which in turn delegates to sub-agents and third-party tools. Determining liability requires identifying, at each step, who held authority, who had sufficient information, and who could have intervened to prevent a bad outcome. Operators must maintain verifiable, timestamped authorization trails — not just policy statements — to demonstrate that governance controls were actually enforced at the moment an agent acted.

Conviva replaces mmap with io_uring in Rust query engine, sees performance drop · ShortSingh