👀 Sneak peek:
I had my most productive year to date after finally tracking my tasks and to-dos with a focus hub I use daily on Notion.Janice CKExplore Janice's templateOur operating system in Notion made juggling multiple...
Today, I'd like to talk about one of the standard JavaScript APIs you are likely sleeping on. It's called AbortController. What is AbortController? AbortController is a global class in JavaScript that you can...
My story, and how this is all possible Introduction My name is Preston Thorpe, I’m 31 years old and I’ve spent just under 10 years of my life in Prison (all for non-violent drug crimes.) I am currently...
We’ve been building impactful React Native projects since the beginning.When React Native was released in 2015, we were one of the first adopters. Over the intervening decade, we’ve developed an incredible...
Programming courses, interviews, commentary.By Casey Muratori<path d="M17.4385 1.2681C19.3988 0.456149 21.6012 0.45615 23.5615 1.2681L31.5807 4.58976C33.5409 5.40172 35.0983 6.95911 35.9102 8.91933L39.2319...
Automattic CEO and WordPress co-creator Matt Mullenweg said he would be deactivating the accounts of several WordPress.org community members, two of whom he says planned to spearhead a new fork of the open...
Skip makes your backend reactiveSo you can ship better features fasterFrom the creators of the Hack and Skip programming languages at MetaWhy Skip?Reactivity makes your features real timeReactivity makes your...
Build better APIs fasterRedefined API management for developers. Quickly add API keys, rate limiting, and usage analytics to your API at any scale.CodeAny language, any framework, always secureAdd...
I admit I wasn't sure I'd be writing this article this year. It's easy to write articles that excite people about the potential of new technology. But 2024 was a year of coming to terms with reality. The past...
Clerk eliminates SSO connection feesEverything you need for authenticationEver feel like authentication requirements change with the season? Clerk keeps up with the latest trends and security best...
try-single-store-freeTry SingleStore FreeThe world's only real-time data platform for powering intelligent applications.Check IconFree foreverBuild your prototype, side-project or startup on SingleStore's...
Table of Contents 1 Introduction 1.1 Problem statement 1.2 Motivation 1.3 Recommended reading 1.4 Binary search and Eytzinger layout 1.5 Hugepages 1.6 A note on benchmarking 1.7 Cache lines 1.8 S-trees and B-trees 2 Optimizing find 2.1 Linear 2.2 Auto-vectorization 2.3 Trailing zeros 2.4 Popcount 2.5 Manual SIMD 3 Optimizing the search 3.1 Batching 3.2 Prefetching 3.3 Pointer arithmetic 3.3.1 Up-front splat 3.3.2 Byte-based pointers 3.3.3 The final version 3.4 Skip prefetch 3.5 Interleave 4 Optimizing the tree layout 4.1 Left-tree 4.2 Memory layouts 4.3 Node size \(B=15\) 4.3.1 Data structure size 4.4 Summary 5 Prefix partitioning 5.1 Full layout 5.2 Compact subtrees 5.3 The best of both: compact first level 5.4 Overlapping trees 5.5 Human data 5.6 Prefix map 5.7 Summary 6 Multi-threaded comparison 7 Conclusion 7.1 Future work 7.1.1 Branchy search 7.1.2 Interpolation search 7.1.3 Packing data smaller 7.1.4 Returning indices in original data 7.1.5 Range queries 7.1.6 Sorting queries 7.1.7 Suffix array searching In this post, we will implement a static search tree (S+ tree) for high-throughput searching of sorted data, as introduced on Algorithmica. We’ll mostly take the code presented there as a starting point, and optimize it to its limits. For a large part, I’m simply taking the ‘future work’ ideas of that post and implementing them. And then there will be a bunch of looking at assembly code to shave off all the instructions we can. Lastly, there will be one big addition to optimize throughput: batching.
Programming courses, interviews, commentary.By Casey Muratori<path d="M17.4385 1.2681C19.3988 0.456149 21.6012 0.45615 23.5615 1.2681L31.5807 4.58976C33.5409 5.40172 35.0983 6.95911 35.9102 8.91933L39.2319...
Not just a databaseEverything your product deserves to build, launch, and scale.Learn moreCustomersWhat people building their business on Convex are sayingLove for ConvexEverything else you need to build your...
Cut Code Review Time & Bugs in HalfSupercharge your entire team with AI-driven contextual feedback. Supports all languages.Get a free trial14-day free trial No credit card needed2-click signup with...
State of JS 2024STATEOF2024Let's take a second to consider something: 2024's top three front end framework were all launched over a decade ago. Now sure, all three have evolved a lot along the way, and the...
HowdevelopersbuildsuccessfulproductsThe single platform to analyze, test, observe, and deploy new featuresThese folks build products users want with10+ products in oneProduct engineering has never been so...
Inertia 2.0 brings powerful new features to Laravel frontend development including async requests, deferred props, prefetching, and polling. Learn how these improvements help you build faster, more responsive applications without the complexity of maintaining a separate API.
Deploy anything Forget complexitySevalla is the home to your upcoming projects. Host and manage your applications, databases, and static sites in a single, intuitive platform.ProductsOur servicesFrom concept...
Come and join 150M developers on GitHub that can now code with Copilot for free in VS Code. Share: GitHub has a long history...
Built for global workloadsServe a global audience with zero effort, with built-in global cache and global connection pooling that you control from your code. Deploy in 3 clicks.Learn moreBuilt for...