Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Who is interested in a book about high performance Erlang?
77 points by robinson_k on Aug 12, 2015 | hide | past | favorite | 31 comments
I wrote an article how to learn Erlang by example [1] which got a lot of good feedback recently when it was posted on HN. Thanks for the good feedback! :)

The past weeks I am working on finding bottlenecks and try to improve the performance of Erlang Open Source projects.

Based on my findings and insights I was asking myself if you would be interested in a book about way to measure and improve Erlang performance. Like my blogpost it would use real world examples, this time from more Open Source Erlang projects.

What do you think?

Best, Robert

[1] http://robert-kowalski.de/blog/lets-learn-erlang-and-fix-a-bug-on-a-couchdb-cluster/

Very interested. Mostly working in Elixir, but very interested in idiomatic ways of using messages, supervisors, genservers, etc etc. Haven't yet had a chance to scale beyond a single server, but would love to learn about that as well.

I've gotten into Erlang because of Elixir. I didn't realise any other systems people cared about syntax design before. I'd love to learn anything about FP or using patterns from dist systems / telco worlds to scale web apps using Elixir / Phoenix.

There is Erlang In Anger by Fred Hebert as a starting point http://www.erlang-in-anger.com/

I would also be interested. I'm less interested in the open source examples and more interested in the techniques and options that are available.

Huge bonus if it takes Elixir into account.

Robert, do you plan to find those bottlenecks and then explain how to remove them by using Erlang/OTP best practices? (i.e. approaches used by Klarna, WhatsApp, etc.).

I'd love to read that! I'm new to errand but found your method of teaching erlang by fixing a real bug in a real project to be incredibly interesting and useful!

I would be interested. Even though I'm moving to Elixir I'm sure most of the best practices can be ported.

Same here, I have been trying to get into Elixir and am skipping doing Erlang first, but I'm sure I'm going to have to go back and review Erlang principles more in depth as I progress.

Would buy it! Just picking up Erlang and loving it so far. Would love to learn more on performance as well.

I'd buy it. Doing some Erlang and Elixir stuff at the moment and need as many tips as I can get.

Definitely. The ins-and-outs of how binaries and GC interact are particularly interesting to me.

This book hasn't been released yet, but it seems quite interesting and might be useful: http://www.amazon.com/Erlang-Run-Time-System-Erik-Stenman/dp...

I'm really interested in a Fundamentals of Erlang video course

Do you prefer videos to well-written prose with examples? If so, why?

I think there's more interest in learning it from scratch.

Would this translate well to Elixir? If so, I'd buy it!

I'd buy it. Hell I'd pre-order it.

Add me to the list of willing customers.

Where is the preorder page? :)

I'd buy it!

I would buy it

+1 would buy.


I would not write performance sensitive code in Erlang, so no. I'd be more interested in a book about distributed programming than a book about optimization.

I'm pretty sure the things where Erlang is a good fit would be the target, no? E.g., it's not going to be about doing your numerical computation--but it might be about using it to distribute it.

Isn't that what I said? That was what I tried to convey in any case.

Sort of, although I read it more as "I'm not interested in making Erlang performant because I wouldn't write anything that has to run fast in Erlang". But if I'm writing in Erlang I want to make it as performant as possible since it's doing something kind of important. E.g., RabbitMQ and Riak wouldn't be as cool as they are if it wasn't performant.

I also interpreted your post in the way that davelnewton did. I guess the thing to remember is that even the slowest systems can have both "high performance" and "low performance" ways of using them.

I guess, but in my experience optimization buys you maybe 2x if the code was written reasonably well. By using Erlang you leave 3x-30x on the table vs reasonably well written C, and it's often easier to write that C code than to optimize the heck out of code in a slower language which ends up being 3x-30x slower anyway. On the other hand Erlang is an excellent choice for distributed systems that are latency bound.

If you've decided that Erlang is the right system to use, isn't it good to know how to -when needed- design the fastest Erlang code possible?

The existence of another language that creates faster programs doesn't make the task of optimizing software written in the slower language irrelevant.

Make sense? :)

And, I mean, languages like Erlang make writing software to solve certain classes of problems far easier than if one were using straight C. What's more, Erlang lets you plug in code written in other languages, so you can keep the very logically tricky stuff in Erlang, and do the perf-critical stuff in -say- C.

I didn't say optimizing Erlang is irrelevant, just that for me a book about optimizing Erlang is less relevant than a book about writing distributed systems in Erlang.

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