Hacker Newsnew | past | comments | ask | show | jobs | submit | akanapuli's commentslogin

I am really interested in whether anyone has evaluated the performance of Gleam? The language is simple, easy to understand, like `Go` for example, but is it really performant like Go, or does it have any performance cost since it runs on top of a VM?


I'm working on a similar language.

The facts about Gleam:

1. It runs on the BEAM - exceptionally slow compared to Go, but infinitely scalable by default in a way that Go is not - in practice, very rarely matters.

2. They will argue the slowness doesn't matter -> if ~97% of time is spent waiting on I/O -> you can be 10x slower and that means you're only ~30% for typical applications -> it's easier to scale more machines on the BEAM than it is to scale a single machine -> this is true, but largely irrelevant in Go's core market -> it's almost as if Go was built by smart people.

3. The reality is that predictability is much harder to guarantee once you start moving components to different machines. Correct, predictable distributed computing makes correct, predictable concurrent programming look easy.

4. The BEAM does not allow shared memory, Go does (unsafely). There are many cases where the performance impact of this is night and day (why Go ultimately allowed unsafety).

I assume Gleam claims to make this just work. But as someone working in this space, this seems like trying to abstract away the difference between taking a boat to Europe or a plane.

Gleam may be nice if you're building something for the BEAM (massively scalable single app that just makes sense with the actor model, typically chat / telecom).

Though I question why you would use it over Elixir.

Go's syntax kind of blows, but it is so INCREDIBLY good at what it does, that you are not going to beat Go by just having better syntax and being "infinitely scalable" by default.

In practice, Go is easily scalable enough for almost anyone. If it isn't congrats, you're a $10B+ company. You can afford to rearchitect and optimize your hot paths.


I would look at benchmarks for Erlang and Elixir to get a rough idea of how Gleam performs at runtime. It's faster than Python generally, but not by a lot. It's for this reason that I really wish Gleam had a LLVM or Golang backend instead of JS / BEAM.

Here's some webserver benchmarks that cover a handful of popular languages: https://stressgrid.com/blog/webserver_benchmark/

I believe BEAM got a JIT compiler built into the runtime not too long ago (after that post, iirc), so it might perform a bit better now.


Why did you decide to move away from Cursor?


Just posted my reply on the thread, to summarise:

1) Default sharing of code (only manual turn off)

2) Was an incident where I believe at least some versions would share your env files (without manual .cursorignore)

3) Agent mode is quiet bad for novel code

4) Agent mode either overshoots(overcomplicates code), mistakes context or refactors too much

The only benefit I get is:

a) Chatting in same window as my code

b) Ctrl+L shortcut

(edited for formatting)


Wondering what made Anthropic to change their stand from saying before that it is not secure to use web with AI models


Fear of AI Winter probably


I dont quite understand the benefit. How does running commands from the Makefile differ from running commands directly on the runner ? What benefit does Makefile brings here ?


You can't run GitHub actions yml workflows locally (officially, there's tools like act).


If you have your CI runner use the same commands as local dev, CI basically becomes an integration test for the dev workflow. This also solves the “broken setup instructions” problem.


Looks cool. I started with python but then switched to go as I am more proficient in the later. I will go through your repo to learn how to construct MCP using python :)


Claude can help you write a lot of okay Python code. Yes, Go is great, but in this MCP case, because of uvx and pypi, as well as kafka python lib, choosing Python is not bad at all


Location: Berlin, Germany

Remote: yes

Willing to relocate: yes

Technologies: Go, Kotlin, Kafka, Rabbitmq, Kubernetes, Mirrormaker2, Mysql, Redis, AWS

Resume/CV: Please check the resume I coded at https://github.com/kanapuli/resume/blob/main/resume.pdf

Email: athavankanapuli@gmail.com

Linkedin: https://linkedin.com/in/athavankanapuli

About me: Forward-thinking Technical fellow with 8 years of experience in Reliability engineering, Infra tooling, Kubernetes and Backend systems. Currently leading the team for Asynchronous cloud communications at Germany’s one of most successful startup and working across the technologies from kafka to Rabbitmq, platform tools to backend services, APIs and databases.Open source enthusiast.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: