Faster interpreters in Go: Catching up with C++

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

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
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. gomacro

    Interactive Go interpreter and debugger with REPL, Eval, generics and Lisp-like macros

    Compiling an expression to a tree of closures, and a list of statements to a slice of closures, is exactly how I optimized [gomacro](https://github.com/cosmos72/gomacro) my Go interpreter written in go.

    There are more tricks available there, as for example unrolling the loop that calls the list of closures, and having a `nop` closure that is executed when there's nothing to run but execution is not yet at the end of the the unrolled loop.

  2. 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
  3. closure-based-brainfuck-vm

    An understandable fast brainfuck interpreter using closures rather than bytecode

    For optimal speed, you should move as much code as possible outside the closures.

    In particular, you should do the `switch op` at https://github.com/skx/simple-vm/blob/b3917aef0bd6c4178eed0c...

  4. wirefilter

    An execution engine for Wireshark-like filters

    The resulting VM implementation reminds me of this post from cloudflare where they similarly use closures to build their interpreter.

    https://blog.cloudflare.com/building-fast-interpreters-in-ru...

  5. expr

    Expression language and expression evaluation for Go

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

  • Fitter - Open Source no-code tool for map-reduce data from different source and even more!

    3 projects | dev.to | 30 Oct 2024
  • Lingo: A Go micro language framework for building Domain Specific Languages

    5 projects | news.ycombinator.com | 24 Oct 2024
  • GRule – Rule Engine

    1 project | news.ycombinator.com | 21 Nov 2023
  • How should I test this function? Should I test all possibilities? Like hasDescription = true and hasExperience = true should return true. hasDescription = true and hasSkill = true should return false

    1 project | /r/webdev | 20 Sep 2022
  • conditionals in plain json?

    1 project | /r/json | 10 Feb 2022