File:A Cool Generic Concurrency Primitive in Rust.webm

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

A_Cool_Generic_Concurrency_Primitive_in_Rust.webm (WebM audio/video file, VP9/Opus, length 6 h 5 min 7 s, 640 × 360 pixels, 222 kbps overall, file size: 578.52 MB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description
English: A few years ago, I built a concurrent hash map designed specifically to support highly concurrent reads: https://github.com/jonhoo/rust-evmap. It is part of what gives Noria, my PhD thesis work, such great read performance. The concurrency primitive that enables evmap to be so fast isn't really specific to maps though, and it's bothered me for a while that the particular datastructure I used it for in Noria was the only available way to use it.

In this stream, we explore an idea I came up with a few weeks ago to make a generic version of just the concurrency primitive that can then be re-used for other datastructures as well. You can see the outline of the plan here: https://github.com/jonhoo/rust-evmap/issues/45#issuecomment-723706112. This entailed slicing out just the concurrency stuff from evmap, and making it into its own reusable crate, and then reworking evmap to use that library. We got more or less all the way there, and you can see the final result in this PR: https://github.com/jonhoo/rust-evmap/pull/73.

0:00:00 Introduction 0:10:15 How evmap works 0:42:56 The change 0:53:58 Reorganizing the code 0:58:46 Stripping out the concurrency primitive 3:01:01 Biobreak 3:03:42 Make evmap use LeftRight 4:52:38 Fixing up evmap unit tests 5:15:15 Associated types vs. generic traits 5:18:36 Fixing up more evmap unit tests 5:21:47 Fixing up the full test suite 5:37:15 Making ReadHandle take &self 6:02:18 Outro

You can see the unsafe code guidelines comment I made about transmuting a type that contains T to ManuallyDrop T here: https://github.com/rust-lang/unsafe-code-guidelines/issues/35#issuecomment-731656729.

You can watch the live version with comments at https://www.youtube.com/watch?v=pZSDTiVEcxs
Date
Source YouTube: A Cool Generic Concurrency Primitive in Rust – View/save archived versions on archive.org and archive.today
Author Jon Gjengset

Licensing

[edit]
This video, screenshot or audio excerpt was originally uploaded on YouTube under a CC license.
Their website states: "YouTube allows users to mark their videos with a Creative Commons CC BY license."
To the uploader: You must provide a link (URL) to the original file and the authorship information if available.
w:en:Creative Commons
attribution
This file is licensed under the Creative Commons Attribution 3.0 Unported license.
Attribution: Jon Gjengset
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
This file, which was originally posted to an external website, has not yet been reviewed by an administrator or reviewer to confirm that the above license is valid. See Category:License review needed for further instructions.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current21:09, 29 September 20246 h 5 min 7 s, 640 × 360 (578.52 MB)Momiji-Penguin (talk | contribs)Imported media from https://www.youtube.com/watch?v=eLNAMEoKAAc

The following page uses this file:

Transcode status

Update transcode status
Format Bitrate Download Status Encode time
VP9 360P 234 kbps Completed 06:00, 30 September 2024 2 h 49 min 16 s
VP9 240P 157 kbps Completed 05:21, 30 September 2024 2 h 12 min 42 s
WebM 360P 558 kbps Completed 05:16, 30 September 2024 2 h 0 min 7 s
QuickTime 144p (MJPEG) 1.13 Mbps Completed 10:27, 28 October 2024 21 min 21 s

Metadata