Runtime code generation and execution in Go

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

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • go

    The Go programming language

    If it gives you some confidence, wazero (the Go Wasm runtime) is used by the Go team (in CI) to test their own Go-to-Wasm compiler.

    So if they break wazero, they'll know pretty soon from failing tests of their own Wasm/WASI toolchain.

    https://go.dev/blog/wasi

    https://github.com/golang/go/blob/go1.22.3/misc/wasm/go_wasi...

    As for sandboxing, wazero tends to take sandboxing rather more seriously than other similar runtimes.

    Memory sandboxing is implemented through explicit bounds checks (rather than memory mapping and guard pages), which allows denser deployments and requires less runtime support.

    And, by default, the WASI implementation doesn't expose any capabilities (not even access to the system clock). You can also interject any relevant WASI host calls, and do your own filtering.

    And if the compiler is not your cup of tea, you can also use the (much slower) interpreter.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • .NET Runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

    This looks like a fun project but for serious work, if you need runtime codegen, you should use .NET which has been successfully using reflection and IL emit for more than a decade:

    - Regex https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...

    - Json https://github.com/neuecc/Utf8Json/tree/master?tab=readme-ov... (this project is archived but nonetheless impressive and continues to show good numbers despite obsoletion)

    - LINQ to DB query compilation https://github.com/dotnet/efcore/blob/main/src/EFCore/Query/...

  • Utf8Json

    Discontinued Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).

    This looks like a fun project but for serious work, if you need runtime codegen, you should use .NET which has been successfully using reflection and IL emit for more than a decade:

    - Regex https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...

    - Json https://github.com/neuecc/Utf8Json/tree/master?tab=readme-ov... (this project is archived but nonetheless impressive and continues to show good numbers despite obsoletion)

    - LINQ to DB query compilation https://github.com/dotnet/efcore/blob/main/src/EFCore/Query/...

  • Entity Framework

    EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.

    This looks like a fun project but for serious work, if you need runtime codegen, you should use .NET which has been successfully using reflection and IL emit for more than a decade:

    - Regex https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...

    - Json https://github.com/neuecc/Utf8Json/tree/master?tab=readme-ov... (this project is archived but nonetheless impressive and continues to show good numbers despite obsoletion)

    - LINQ to DB query compilation https://github.com/dotnet/efcore/blob/main/src/EFCore/Query/...

  • compress

    Optimized Go Compression Packages

    I didn't know Go reserved some registers for its own use. For libraries that don't use cgo but do use assembly [1], does this mean they have to generate that assembly with a compiler flag that avoids reserved registers?

    [1] A common optimization technique, like in the superb https://github.com/klauspost/compress

  • wazero

    wazero: the zero dependency WebAssembly runtime for Go developers

    and for reference see how it's done in wazero https://github.com/tetratelabs/wazero/blob/c397a402ad17e495a...

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

  • Build an Event-Driven Uptime Monitor in Go 🚀

    2 projects | dev.to | 20 Oct 2023
  • dynamo VS dynmgrm - a user suggested alternative

    2 projects | 16 Jun 2024
  • TypeScript dev tools in the Golang world

    1 project | dev.to | 1 May 2024
  • FyneDesk – Linux desktop environment in Go

    2 projects | news.ycombinator.com | 12 Apr 2024
  • Prisma Client Go: Typesafe Database Client for Golang

    1 project | news.ycombinator.com | 20 Jan 2024

Did you konow that C# is
the 10th most popular programming language
based on number of metions?