Rust at speed — building a fast concurrent database
Jon Gjengset2 HN recommenders · recommended in 2 months, 2019-2022
225K views · 7 years ago · lecture · evergreen
A guest lecture Jon Gjengset gave at Two Sigma on using Rust for large, high-performance systems. It covers why Rust suits such projects, the Noria research database, a concurrent data structure used in it, and practical experience.
HN points to it as a detailed, captivating talk by the Noria author, including a good explanation of deduplicating data between maps using unsafe.
29:25Rust NYC: Jon Gjengset - Demystifying unsafe code
Rust Programming Language
27K views • 6 years ago
1:33:23Crust of Rust: Lifetime Annotations
Jon Gjengset
299K views • 6 years ago
2:34:01Crust of Rust: async/await
Jon Gjengset
246K views • 5 years ago
46:40Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
ChimiChanga
415K views • 2 years ago
29:47The Truth about Rust/WebAssembly Performance
Greg Johnston
218K views • 3 years ago
22:19Lars Bergstrom - Beyond Safety and Speed: How Rust Fuels Team Productivity
Rust Nation UK
18K views • 2 years ago
51:27Google I/O 2012 - Go Concurrency Patterns
Google for Developers
894K views • 14 years ago
22:51GopherCon 2015: Go GC: Solving the Latency Problem - Rick Hudson
Gopher Academy
22K views • 11 years ago
45:50Thesis: Partial State in Dataflow-Based Materialized Views
Jon Gjengset
17K views • 6 years ago
1:00:40Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency
Hydra
47K views • 7 years ago
1:13:41CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
CppCon
235K views • 12 years ago
1:16:58code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
NOKIA Technology Center Wrocław
231K views • 11 years ago
58:36Advanced Topics in Programming Languages: A Lock-Free Hash Table
GoogleTalksArchive
29K views • 14 years ago
3:03:54The Why, What, and How of Pinning in Rust
Jon Gjengset
87K views • 7 years ago
1:04:26CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
CppCon
40K views • 8 years ago
1:05:59Data Oriented GUI in Rust by Raph Levien - Bay Area Rust Meetup
Rust Programming Language
83K views • 8 years ago
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
862K views • 12 years ago
48:46Rust's Journey to Async/Await
InfoQ
90K views • 6 years ago
43:20Zig Roadmap 2023 - Andrew Kelley
Zig SHOWTIME
77K views • 4 years ago
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
CppNow
34K views • 13 years ago
4 comments from Hacker News
:wave: Author of the paper this work is based on here. I'm so excited to see dynamic, partially-stateful data-flow for incremental materialized view maintenance becoming more wide-spread! I continue to think it's a _great_ idea, and the speed-ups (and complexity reduction) it can yield are pretty immense, so seeing more folks building on the idea makes me very happy. The PlanetScale blog post references my original "Noria" OSDI paper ( link ), but I'd actually recommend my PhD thesis instead ( link ), as it goes much deeper about some of the technical challenges and solutions involved. It also has a chapter (Appendix A) that covers how it all works by analogy, which the less-technical among the audience may appreciate :) A recording of my thesis defense on this, which may be more digestible than the thesis itself, is also online at link , as well as a shorter talk from a few years earlier at ▶ this video . And the Noria research prototype (written in Rust) is on GitHub: link . As others have already mentioned in the comments, I co-founded ReadySet ( link ) shortly after graduating specifically to build off of Noria, and they're doing amazing work to provide these kinds of speed-ups for general-purpose relational databases. If you're using one of those, it's worth giving ReadySet a look to get these kinds of speedups there! It's also source-available @ link if you're curious.
The author of Noria, Jon Gjengset, gave a great talk about the system: ▶ this video The speeds achieved are impressive but you do not get consistency.
Anecdotal - One of favorite YouTube live-streaming personalities, Jon Gjengset[1] is a Ph.D student at MIT CSAIL. His talks are very detailed[4] and captivating[3] [1] link Talks [2] ▶ this video [3] link Rust Details(my favorites) [4] link
He explains this at roughly the 40 minute mark. [1] "There's 7 more lines of `unsafe` that avoids keeping both maps. You still keep two maps, but you de-duplicate the data between those two maps." ▶ this video