Rust is a systems programming language that runs
blazingly fast, prevents segfaults, and guarantees thread
safety. It aims to bring modern language design and an
advanced type system to systems programming. Rust
does not use a garbage collector, using advanced static
analysis to provide deterministic drops instead.
Slide 8
Slide 8 text
Empowering everyone
to build reliable and
efficient software.
Slide 9
Slide 9 text
Matthias Endler
@matthiasendler
- Düsseldorf, Germany
- Backend Engineer at
- Website performance team
- Worked a lot with Python and PHP
- Likes hot chocolate
endler.dev mre
Slide 10
Slide 10 text
hello-rust.show
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
5.90GiB/s
1.90GiB/s
GNU cat fastcat
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
3GiB/s
850MiB/s
GNU yes My yes
Slide 16
Slide 16 text
Do What You Can't
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
Rust Facts
• Programming language
• Funded by Mozilla
• First version: 2010
• Version 1.0: May 2015
• Current stable version: 1.40
Slide 19
Slide 19 text
Rust Facts
• Memory safety
• No undefined behavior
• Fearless concurrency
• High-level language concepts
• Strong compiler checks
• Easily embeddable into existing
projects
Slide 20
Slide 20 text
What I like about…
Package manager, Community
Syntax, Libraries, Async
Tooling, Documentation, Concurrency
Speed, no overhead
PHP:
Python:
Golang:
C:
Slide 21
Slide 21 text
What I like about…
Package manager, Community
Syntax, Libraries, Async
Tooling, Documentation, Concurrency
Speed, no overhead
Generics, Error handling
Rust:
Slide 22
Slide 22 text
Complexity vs speed
PHP
Python
Golang
Rust
C
Faster "Easier"
File icon created by Justiconnic from the Noun Project
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
... but there's more!
• How to differentiate between end
of file and error?
• Parallel execution for multiple
files?
• What about very long lines?
• Buffers for performance
• Timeouts for slow reads?
• SIMD?
Slide 44
Slide 44 text
No content
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
No content
Slide 48
Slide 48 text
No content
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
No content
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
• Handles missing files
• Handles read errors
• Handles large files
• UTF-8 support
• Fast buffered reading
• No memory leaks