Purego – A library for calling C functions from Go without Cgo

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
  1. purego

    I thought I had a piece of dust on my screen, but as I scrolled the dust scrolled: what do these 0xB7 characters do in the identifiers? Are they just "name mangling" to keep them from being exported or something?

    https://github.com/ebitengine/purego/blob/v0.2.0-alpha/sys_d...

    I noticed another 0xB7 character in a comment, and sure enough it seems to be part of the identifiers: https://github.com/ebitengine/purego/search?q=runtime%C2%B7c...

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. mach

    zig game engine & graphics toolkit

    Very cool! I will definitely give this a try, I've been looking to build Go bindings to Mach[0] soon.

    How does this work around the stack size problem? IIRC the reason CGO overhead exists is at least partly because goroutines only have an ~8k stack to start with, and the C code doesn't know how to expand it-so CGO calls "must" first have the goroutine switched to an OS thread which has an ~8MB stack.

    One reason I think Go <-> Zig could be a fantastic pairing is that Zig plans to add a builtin which tells you the maximum stack size of a given function[1], so you could grow the goroutine stack to that size and then call Zig (or, since Zig an compile C code, you could also call C with a tiny shim to report the stack required?) and then eliminate the goroutine -> OS thread switching overhead.

    [0] https://github.com/hexops/mach

    [1] https://github.com/ziglang/zig/issues/157

  4. bud

    The Full-Stack Web Framework for Go

    Awesome!

    This would be such a game-changer for server-side rendering Javascript in Go with V8.

    I'd love to integrate this into Bud[1].

    [1] https://github.com/livebud/bud

  5. SWIG

    SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

    How is this any different than a mature tool such as SWIG (https://www.swig.org/)?

    I've used SWIG extensively with Python to call C code and import C headers for testing/tooling purposes.

  6. rust-plus-golang

    Rust + Go — Call Rust code from Go using FFI

    Oh then sure, I don't see why you couldn't use it with something like https://github.com/mediremi/rust-plus-golang

  7. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: Markdown Ninja: open-source alternative to Substack, Mailchimp, Netlify

    2 projects | news.ycombinator.com | 20 May 2025
  • Rust Dependencies Scare Me

    23 projects | news.ycombinator.com | 9 May 2025
  • Ikemen-GO: open-source reimplementation of MUGEN

    4 projects | news.ycombinator.com | 19 Mar 2025
  • Why I love Rust for tokenising and parsing

    12 projects | news.ycombinator.com | 7 Nov 2024
  • What would be the closest thing to Unity/Unreal C#/C++ for Go to create games/animations/visual work?

    5 projects | /r/golang | 19 Apr 2023

Did you know that C++ is
the 7th most popular programming language
based on number of references?