Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    S

    Sebastian Dröge

    coaxion.net · Personal blog · on HN since 2016

    Sebastian Dröge, a GStreamer developer, writes about multimedia plugins, Rust, and performance work.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersSystems & Performance
    What HN says

    HN commenters cite his posts in Rust debates, including bounds-checking costs and integrating Rust into existing C codebases.

    Stats for nerds
    16HN people shared it
    14linked in comments
    84story points
    Jul 2023last shared
    2019people per year2023

    Top posts on HN

    1. 1
      Porting EBU R128 audio loudness analysis from C to Rust
      1 person · 57 points · first shared 2020 · 6 comments on HN
    2. 2
      Exporting a GObject C API from Rust code and using it from other languages
      3 people · 5 points · first shared 2017 · Discussion on HN
    3. 3
      Writing GStreamer plugins and elements in Rust
      2 people · 3 points · first shared 2016 · Discussion on HN
    4. 4
      Building a GStreamer plugin in Rust with meson instead of cargo – coaxion.net
      2 people · 3 points · first shared 2023 · Discussion on HN
    5. 5
      Improving many-streams GStreamer performance and scalability with Rust/Tokio
      1 person · 3 points · first shared 2018 · Discussion on HN
    6. 6
      Porting EBU R128 audio loudness analysis from C to Rust – Porting Details
      1 person · 2 points · first shared 2020 · Discussion on HN
    7. 7
      GStreamer Elements in Rust: Parsing data from untrusted sources like it’s 2016
      1 person · 2 points · first shared 2016 · Discussion on HN
    8. 8
      Writing GStreamer Elements in Rust (Part 2)
      1 person · 2 points · first shared 2016 · Discussion on HN
    9. 9
      GLib/GIO async operations and Rust futures and async/await
      1 person · 2 points · first shared 2018 · Discussion on HN
    10. 10
      Instantaneous RTP synchronization and retrieval of absolute sender clock times
      1 person · 2 points · first shared 2022 · Discussion on HN

    What HN people wrote when they linked it

    • MaulingMonkeyMar 2019

      > Seems bad for rust that safe code is 25x slower.

      Most of the optimizations listed have nothing to do with unsafe, and have to do with algorithmic changes that you could apply in any language, and could apply to safe code just as well as to unsafe code. Even if we pretend all unsafe used there is necessary, and interpret the source in the worst possible light for rust - that the optimization steps would be impossible without unsafe - I think we'd only be talking 4x to 5x slower from this article, not 25x.

      But - I strongly suspect not all that unsafe is necessary, and the post certainly doesn't claim it is.

      The first code snippet uses unsafe to skip bounds checks. There are plenty of other ways to get the optimizer to skip them for you in safe code - or at the very least, hoist them out of the loop instead. This seems like a good read showing some concrete examples:

      https://coaxion.net/blog/2018/01/speeding-up-rgb-to-grayscale-conversion-in-rust-by-a-factor-of-2-2-and-various-other-multimedia-related-processing-loops/

      Explicitly using SIMD code like the second code snippet does might require unsafe for the transmuted slicing under the hood (implemented as raw pointer derefs in this case), but it's possible to build safe abstractions on top of that. That blog post links this, for example, although it didn't end up using it (EDIT: Actually, it initially didn't, but now does): https://github.com/AdamNiederer/faster . It does use unsafe internally: …

    • zokierJul 2023

      That is mischaracterization. Rust has been intended to be able to incrementally integrate to C/C++ codebases, of course most significantly integrating Rust/Servo components to Firefox/Gecko.

      See for example this rsvg presentation[1] and gstreamer blog post[2] for examples of the interop

      [1] https://viruta.org/docs/fmq-porting-c-to-rust.pdf

      [2] https://coaxion.net/blog/2016/05/writing-gstreamer-plugins-and-elements-in-rust/

    • PathOfEclipseOct 2022

      If your bounds checks can make your programs as much as twice as slow, then I think it's worth considering that bounds checking is not a panacea for low-level code: https://coaxion.net/blog/2018/01/speeding-up-rgb-to-grayscale-conversion-in-rust-by-a-factor-of-2-2-and-various-other-multimedia-related-processing-loops/#no-more-bounds

    • the_why_of_yMay 2020

      https://news.ycombinator.com/item?id=23290506

      https://coaxion.net/blog/2017/09/exporting-a-gobject-c-api-from-rust-code-and-using-it-from-c-python-javascript-and-others/

      https://hsivonen.fi/modern-cpp-in-rust/

      http://hansihe.com/2017/02/05/rustler-safe-erlang-elixir-nifs-in-rust.html

    Related

    Federico Mena-Quinteropeople.gnome.org/~federico46 people

    Rust things I miss in C

    Federico Mena-Quintero
    Personal · last shared 2021
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026
    Patrick Waltonpcwalton.github.io53 people

    Pathfinder, a fast GPU-based font rasterizer in Rust

    Patrick Walton
    Personal · last shared 2025
    Ralf Jungralfj.de99 people

    There is no memory safety without thread safety

    Ralf Jung
    Personal · last shared 2026
    Andreas Klingawesomekling.github.io60 people

    I quit my job to focus on SerenityOS full time

    Andreas Kling
    Personal · last shared 2025
    Andrew Gallantblog.burntsushi.net141 people

    My FOSS Story

    Andrew Gallant
    Personal · last shared 2026
    sunfishcodeblog.sunfishcode.online32 people

    Bugs in Hello World

    sunfishcode
    Personal · last shared 2025
    matkladmatklad.github.io237 people

    Architecture.md

    matklad
    Personal · last shared 2026