Announcing Ada v4: Validating 35.6M URLs per second
Ada 4.0 is faster on the common path, ships a much smaller binary, and hardens URL parsing with max-length limits, ABI soname 4, and a wave of correctness fixes.
Yagiz Nizipli is a software engineer who writes about software engineering, programming, and technology. His research and work is focused on software performance.
Ada 4.0 is faster on the common path, ships a much smaller binary, and hardens URL parsing with max-length limits, ABI soname 4, and a wave of correctness fixes.
Ada is the fastest URL parser, 7.1x faster than cURL for full parsing. At Vercel scale, Ada uses 86% less CPU—saving 34% of one core.
Announcing Ada's new release with URLPattern, a new feature that allows you to define URL patterns for your routes.
With this blog post, I'm going to explain and analyze the steps I've taken to land a super-fast, built-in task runner in Node.js core. For those who are not familiar with the term "task runner", it's a command-line tool to run a task specified in a `package.json` file in node.js projects.
Before writing a letter to 20 year old me, it’s better to introduce myself. I am a Computer Engineering student at Sabanci University, Istanbul, Turkey. I’ve worked for more than 5 companies which ranges from startups to corporations.
It's been a really long year. I've had a lot of ups and downs, but I'm glad I've made it through. I'm looking forward to the next year, and I hope it's a good one.
CommonJS and ES modules are 2 sides of a coin. Node.js supports both of them. So, how can we improve the performance of Node.js loaders?
Node Package Manager (npm) provides a set of scripts for developers and package maintainers to maintain the life cycle events of a package.
I recently wrote a tweet mentioning how I tell my newborn baby, Ada, the edge cases of URL specification for her to sleep.
Recently, I encountered a difference in output in Ada compared to Safari, Chrome and Firefox. I thought it would be a good idea to write a blog post and explain the difference, and how browser implementations of URL is not kept in sync with the URL specification.
Serializing strings in Node.js has been a pain point for web developers, particularly when it comes to URL operations. Recently, we conducted a research to reduce the cost of string serialization in Node.js core particularly in the context of URL parsing, resulting in a series of optimizations that addressed the issue.
Next.js is a popular framework for building server-side rendered React applications, but like any web application, it's crucial to take security seriously.
Ada URL Parser, a powerful tool for parsing URLs, has just been updated to version 2.0 after the release of version 1.0.4 just a month ago.
C++ is a powerful and versatile programming language that is widely used for a variety of applications, including system programming, game development, and scientific computing.
Working on a project that handles every edge case of a URL specification and has over 1000 unit tests can be quite challenging. Recently, I had the opportunity to work on a refactor and a new API for the Ada URL Parser.
Embedder functions implemented in C++ incur a high overhead, so V8 provides an API to implement fast-path C functions which may be invoked directly from JITted code.
Even though, this started as an experiment, implementing the URL parser in Rust using WebAssembly became the graduation project for my Masters in Computer Science at Fordham University.
Today, I'm going to talk about one of the most interesting topics in software and computer engineering, performance. PostgreSQL, as one of the most advanced database management systems out there.
Over the years, I found myself searching for the same exact problem whenever I was using Knex.js, the query planner for Node.js.
I don't believe I'm writing a blog post related to Sudoku since it's already a solved problem/exercise and it's widely known, but I wanted to share my experience and my thought thinking about creating a valid Sudoku board and what it means to have a valid Sudoku.
Lately, I've found myself worrying more and more about performance and the amount of time it takes for a function or a task to be taken on Node.js.
I've been working with Node.js for quite a long time. So, believe me when I say there's a library called eslint-plugin-security to detect common mistakes and security flaws you make while you're coding.
I'm quite excited about writing about mobile application development. It has been in my mind for quite some time now.