workerd VS go

Compare workerd vs go and see what are their differences.

workerd

The JavaScript / Wasm runtime that powers Cloudflare Workers (by cloudflare)
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
workerd go
37 2,080
5,751 120,063
4.4% 1.0%
9.9 10.0
4 days ago 4 days ago
C++ Go
Apache License 2.0 BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

workerd

Posts with mentions or reviews of workerd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-05.
  • Cloudflare acquires PartyKit to allow developers to build real-time multi-user
    3 projects | news.ycombinator.com | 5 Apr 2024
    Standards bodies only standardize things after they've been proven to work. You can't standardize a new idea before offering it to the market. It's hard enough to get just one vendor to experiment with an idea (it literally took me years to convince everyone inside Cloudflare that we should build Durable Objects). Getting N competing vendors to agree on it -- before anything has been proven in the market -- is simply not possible.

    But the Durable Objects API is not complicated and there's nothing stopping competing platforms from building a compatible product if they want. Much of the implementation is open source, even. In fact, if you build an app on DO but decide you don't want to host it on Cloudflare, you can self-host it on workerd:

    https://github.com/cloudflare/workerd

  • Python Cloudflare Workers
    4 projects | news.ycombinator.com | 2 Apr 2024
    In any case, I welcome this initiative with my open hands and look forward all the cool apps that people will now build with this!

    [1] https://pyodide.org/

    [2] https://github.com/cloudflare/workerd/blob/main/docs/pyodide...

    [3] https://github.com/cloudflare/workerd/pull/1875

  • LLRT: A low-latency JavaScript runtime from AWS
    10 projects | news.ycombinator.com | 8 Feb 2024
    For ref:

    - https://blog.cloudflare.com/workerd-open-source-workers-runt...

    - https://github.com/cloudflare/workerd

  • A list of JavaScript engines, runtimes, interpreters
    23 projects | /r/learnjavascript | 10 Dec 2023
    workerd
  • WinterJS
    6 projects | news.ycombinator.com | 28 Oct 2023
    I think this is for people who want to run their own cloudflare workers (sort of) and since nobody wants to run full node for that, they want a small runtime that just executes js/wasm in an isolated way. But I wonder why they don't tell me how I can be sure that this is safe or how it's safe. Surely I can't just trust them and it explicitly mentions that it still has file IO so clearly there is still work I need to do customize the isolation further. But then they don't show any info on that core usecase. But then that's probably because they don't really want you to use this to run it on your own, they are selling you on running things on their edge platform called "Wasmer Edge". So that's probably why this is so light on information.. the motivation isn't to get you to use this yourself, just to use this their hosted edge platform. But then I wonder why I wouldn't just use https://github.com/cloudflare/workerd which is also open source. Surely that is fast enough? If not then it should show some benchmarks?
  • Cloudflare workers is adopting Ada URL parser
    1 project | news.ycombinator.com | 5 Oct 2023
  • Cap'n Proto 1.0
    10 projects | news.ycombinator.com | 28 Jul 2023
    i love how the main reference for workerd can be just one capnp file.

    https://github.com/cloudflare/workerd/blob/main/src/workerd/...

    this changed my world how i think about computing on the web.

    if there was just a good enough js library as for lua and you could directly send capnp messages to workerd instead of always going through files. I guess one day i have to relearn c++ and understand how the internals actually work.

  • Cloudflare Workers Introduces Connect() API to Create TCP Sockets
    3 projects | news.ycombinator.com | 29 May 2023
    A significant chunk of it is open source: https://github.com/cloudflare/workerd/
  • JSON with multiline strings
    2 projects | /r/javascript | 19 May 2023
    Some of the configuration files for applications wind up being an entire language unto themselves, e.g., https://github.com/cloudflare/workerd/blob/1b5057f2bfcfedf146f6f79ff04e99903d55412b/src/workerd/io/compatibility-date.capnp
  • Am I out of touch for trying to limit my stack to containers?
    1 project | /r/ExperiencedDevs | 18 May 2023
    Edge runtimes are very good alternatives to containers that shouldn't be dismissed for "not being containers". They're often faster, more scalable, and cheaper than containers. Them being so lightweight also enable a "nanoservice architecture" – being able to run every service on a single computer instead of running different services on different computers and having to deal with network latency and unreliability.

go

Posts with mentions or reviews of go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-08.
  • Arena-Based Parsers
    4 projects | news.ycombinator.com | 8 May 2024
    The description indicates it is not production ready, and is archived at the same time.

    If you pull all stops in each respective language, C# will always end up winning at parsing text as it offers C structs, pointers, zero-cost interop, Rust-style struct generics, cross-platform SIMD API and simply has better compiler. You can win back some performance in Go by writing hot parts in Go's ASM dialect at much greater effort for a specific platform.

    For example, Go has to resort to this https://github.com/golang/go/blob/4ed358b57efdad9ed710be7f4f... in order to efficiently scan memory, while in C# you write the following once and it compiles to all supported ISAs with their respective SIMD instructions for a given vector width: https://github.com/dotnet/runtime/blob/56e67a7aacb8a644cc6b8... (there is a lot of code because C# covers much wider range of scenarios and does not accept sacrificing performance in odd lengths and edge cases, which Go does).

    Another example is computing CRC32: you have to write ASM for Go https://github.com/golang/go/blob/4ed358b57efdad9ed710be7f4f..., in C# you simply write standard vectorized routine once https://github.com/dotnet/runtime/blob/56e67a7aacb8a644cc6b8... (its codegen is competitive with hand-intrinsified C++ code).

    There is a lot more of this. Performance and low-level primitives to achieve it have been an area of focus of .NET for a long time, so it is disheartening to see one tenth of effort in Go to receive so much spotlight.

  • Go: the future encoding/json/v2 module
    2 projects | dev.to | 2 May 2024
    A Discussion about including this package in Go as encoding/json/v2 has been started on the Go Github project on 2023-10-05. Please provide your feedback there.
  • Evolving the Go Standard Library with math/rand/v2
    2 projects | news.ycombinator.com | 1 May 2024
    I like the Principles section. Very measured and practical approach to releasing new stdlib packages. https://go.dev/blog/randv2#principles

    The end of the post they mention that an encoding/json/v2 package is in the works: https://github.com/golang/go/discussions/63397

  • Microsoft Maintains Go Fork for FIPS 140-2 Support
    5 projects | news.ycombinator.com | 30 Apr 2024
    There used to be the GO FIPS branch :

    https://github.com/golang/go/tree/dev.boringcrypto/misc/bori...

    But it looks dead.

    And it looks like https://github.com/golang-fips/go as well.

  • Borgo is a statically typed language that compiles to Go
    21 projects | news.ycombinator.com | 30 Apr 2024
    I'm not sure what exactly you mean by acknowledgement, but here are some counterexamples:

    - A proposal for sum types by a Go team member: https://github.com/golang/go/issues/57644

    - The community proposal with some comments from the Go team: https://github.com/golang/go/issues/19412

    Here are some excerpts from the latest Go survey [1]:

    - "The top responses in the closed-form were learning how to write Go effectively (15%) and the verbosity of error handling (13%)."

    - "The most common response mentioned Go’s type system, and often asked specifically for enums, option types, or sum types in Go."

    I think the problem is not the lack of will on the part of the Go team, but rather that these issues are not easy to fix in a way that fits the language and doesn't cause too many issues with backwards compatibility.

    [1]: https://go.dev/blog/survey2024-h1-results

  • AWS Serverless Diversity: Multi-Language Strategies for Optimal Solutions
    4 projects | dev.to | 28 Apr 2024
    Now, I’m not going to use C++ again; I left that chapter years ago, and it’s not going to happen. C++ isn’t memory safe and easy to use and would require extended time for developers to adapt. Rust is the new kid on the block, but I’ve heard mixed opinions about its developer experience, and there aren’t many libraries around it yet. LLRD is too new for my taste, but **Go** caught my attention.
  • How to use Retrieval Augmented Generation (RAG) for Go applications
    3 projects | dev.to | 28 Apr 2024
    Generative AI development has been democratised, thanks to powerful Machine Learning models (specifically Large Language Models such as Claude, Meta's LLama 2, etc.) being exposed by managed platforms/services as API calls. This frees developers from the infrastructure concerns and lets them focus on the core business problems. This also means that developers are free to use the programming language best suited for their solution. Python has typically been the go-to language when it comes to AI/ML solutions, but there is more flexibility in this area. In this post you will see how to leverage the Go programming language to use Vector Databases and techniques such as Retrieval Augmented Generation (RAG) with langchaingo. If you are a Go developer who wants to how to build learn generative AI applications, you are in the right place!
  • From Homemade HTTP Router to New ServeMux
    4 projects | dev.to | 26 Apr 2024
    net/http: add methods and path variables to ServeMux patterns Discussion about ServeMux enhancements
  • Building a Playful File Locker with GoFr
    4 projects | dev.to | 19 Apr 2024
    Make sure you have Go installed https://go.dev/.
  • Fastest way to get IPv4 address from string
    1 project | news.ycombinator.com | 14 Apr 2024

What are some alternatives?

When comparing workerd and go you can also consider the following projects:

cloudflare-docs - Cloudflare’s documentation

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

js-compute-runtime - JavaScript SDK and runtime for building Fastly Compute applications

TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

lagon - Deploy Serverless Functions at the Edge. Current status: Alpha

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

fauna-schema-migrate - The Fauna Schema Migrate tool helps you set up Fauna resources as code and perform schema migrations.

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

windmill - Open-source developer platform to turn scripts into workflows and UIs. Fastest workflow engine (5x vs Airflow). Open-source alternative to Airplane and Retool.

Angular - Deliver web apps with confidence 🚀

miniflare - 🔥 Fully-local simulator for Cloudflare Workers. For the latest version, see https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare.

golang-developer-roadmap - Roadmap to becoming a Go developer in 2020