Why You Should Use Memory Mapped Files

11 months ago
19

A memory mapped file is a file that can be read like a byte array from your program. They are the fastest way to parse data and to do inter-process communication (by a long way). In this video we explain its intricacies, and we show a demo program capable of doing 11 million ping-pong messages per second between two process using memory mapped files.

0:00 Start
2:30 Some of the Basics First
7:00 Semantical Benefits
10:40 Code: How to Open a Memory Map File
15:30 Performance Benefits
16:00 Swap and Memory Map Files are the same thing
22:00 Most Efficient way to Share Memory Between Processes; Compare And Swap, Memory Barriers
25:20 One System Call
27:38 Code: Memory Mapped File Ping between two processes
31:00 Code: Atomic Load/Store
34:50 Demo: 9 millions pings per second between two processes via mapped files
36:30 Demo: vs 24 kilo pings per second when using local network
40:20 The Small Prints: two caveats
46:30 Thank you

The Memory Ping Pong: https://github.com/ComputerSaysYeah/MemMapPing
The Blog Post: https://yeah.computer/posts/019-why-you-should-use-memory-mapped-files

Loading comments...