# \#performance

**URL:** https://erlangforums.com/tag/performance/369.md

[Latest](https://erlangforums.com/latest.md) · [Categories](https://erlangforums.com/categories.md) · [Tags](https://erlangforums.com/tags.md)

---

## [Elock - scalable distributed locks with deadlock detection](https://erlangforums.com/t/elock-scalable-distributed-locks-with-deadlock-detection/6065)

<div class="topic-metadata">

**Author:** [@vzroman](https://erlangforums.com/u/vzroman)\
**Replies:** 0\
**Last updated:** [October 21, 2026, 9:53am UTC](https://erlangforums.com/t/elock-scalable-distributed-locks-with-deadlock-detection/6065 "2026-10-21T09:53:30Z")

</div>

elock is a lock library for Erlang: locks on any term, exclusive or shared, on one node or on several at once, with deadlocks detected across nodes. We have completed a large-scale SCADA/EMS project for KEGOC, Kazakhsta…

---

## [Making \`dns\_erlang\` fast: binary tricks for the BEAM](https://erlangforums.com/t/making-dns-erlang-fast-binary-tricks-for-the-beam/6059)

<div class="topic-metadata">

**Author:** [@NelsonVides](https://erlangforums.com/u/NelsonVides)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:15pm UTC](https://erlangforums.com/t/making-dns-erlang-fast-binary-tricks-for-the-beam/6059 "2026-10-19T13:15:31Z")

</div>

We’ve spent the last months occasionally rewriting, bit by bit, the hot paths of dns\_erlang, the DNS parser library behind erldns and our authoritative name servers. Our name servers now use 12% less CPU per query and ha…

---

## [Ecall - batched, pooled send/cast/call over Erlang distribution - scales past the single output queue per node pair](https://erlangforums.com/t/ecall-batched-pooled-send-cast-call-over-erlang-distribution-scales-past-the-single-output-queue-per-node-pair/5940)

<div class="topic-metadata">

**Author:** [@vzroman](https://erlangforums.com/u/vzroman)\
**Replies:** 9\
**Last updated:** [October 12, 2026, 9:15am UTC](https://erlangforums.com/t/ecall-batched-pooled-send-cast-call-over-erlang-distribution-scales-past-the-single-output-queue-per-node-pair/5940 "2026-10-12T09:15:40Z")

</div>

OTP 25 fixed the lock that many local senders used to fight over. Send the same traffic to another node and a different single point takes its place: one distribution queue per node pair. This is the story of how a SCADA…

---

## [Remove md5 as a module checksum hash](https://erlangforums.com/t/remove-md5-as-a-module-checksum-hash/5879)

<div class="topic-metadata">

**Author:** [@jgonet](https://erlangforums.com/u/jgonet)\
**Replies:** 0\
**Last updated:** [August 24, 2026, 7:37pm UTC](https://erlangforums.com/t/remove-md5-as-a-module-checksum-hash/5879 "2026-08-24T19:37:30Z")

</div>

I develop Popcorn which compiles OTP/BEAM for browsers. The VM is short-lived for some uses and having it boot fast is important to me. I recently benchmarked few things in that area and found out that checksumming proc…

---

## [BEAM on 128-core Linux box seeming not to use many of available cores](https://erlangforums.com/t/beam-on-128-core-linux-box-seeming-not-to-use-many-of-available-cores/3858)

<div class="topic-metadata">

**Author:** [@igorclark](https://erlangforums.com/u/igorclark)\
**Replies:** 21\
**Last updated:** [August 13, 2026, 2:05am UTC](https://erlangforums.com/t/beam-on-128-core-linux-box-seeming-not-to-use-many-of-available-cores/3858 "2026-08-13T02:05:25Z")

</div>

Hello all, I’m doing a bit of POC work for a potential project and I’ve come up against something I don’t yet understand. I’m running identical code on my 10-core M1 MacBook Pro and on a large 128-core/128GB RAM cloud V…

---

## [AsmJit needs funding - development suspended](https://erlangforums.com/t/asmjit-needs-funding-development-suspended/5423)

<div class="topic-metadata">

**Author:** [@michallepicki](https://erlangforums.com/u/michallepicki)\
**Replies:** 17\
**Last updated:** [May 14, 2026, 8:04am UTC](https://erlangforums.com/t/asmjit-needs-funding-development-suspended/5423 "2026-05-14T08:04:16Z")

</div>

I want to share the news, I just found out that AsmJit has suspended development because of lack of funding - github issue… Since the Erlang compiler leverages AsmJit for the JIT implementation, I wonder how this will af…

---

## [When is \`is\_process\_alive/1\` slow?](https://erlangforums.com/t/when-is-is-process-alive-1-slow/5401)

<div class="topic-metadata">

**Author:** [@zachallaun](https://erlangforums.com/u/zachallaun)\
**Replies:** 9\
**Last updated:** [February 5, 2026, 10:52am UTC](https://erlangforums.com/t/when-is-is-process-alive-1-slow/5401 "2026-02-05T10:52:31Z")

</div>

I’m looking for some insight into process “patterns” that can result in is\_process\_alive/1 (docs) being unexpectedly slow. For context, I have a singleton gen\_server that is responsible for monitoring many other process…

---

## [Erlang socket layer throughput improvements](https://erlangforums.com/t/erlang-socket-layer-throughput-improvements/5379)

<div class="topic-metadata">

**Author:** [@NelsonVides](https://erlangforums.com/u/NelsonVides)\
**Replies:** 6\
**Last updated:** [January 19, 2026, 6:30am UTC](https://erlangforums.com/t/erlang-socket-layer-throughput-improvements/5379 "2026-01-19T06:30:10Z")

</div>

I’ve spent a bit of time on the socket layer of OTP as I’ve been working on erlang DNS servers recently. You all know the classic behaviours, gen\_tcp and gen\_udp, but there’s also the much less common socket module, that…

---

## [Cowboy 2.13.0 performance bottleneck at 8.7K RPS on Erlang 28.0.2](https://erlangforums.com/t/cowboy-2-13-0-performance-bottleneck-at-8-7k-rps-on-erlang-28-0-2/5004)

<div class="topic-metadata">

**Author:** [@zabrane](https://erlangforums.com/u/zabrane)\
**Replies:** 15\
**Last updated:** [August 29, 2025, 5:50am UTC](https://erlangforums.com/t/cowboy-2-13-0-performance-bottleneck-at-8-7k-rps-on-erlang-28-0-2/5004 "2025-08-29T05:50:23Z")

</div>

Hi Folks, I’m seeing unexpectedly poor performance with Cowboy 2.13.0 on Erlang 28.0.2. Load testing shows only 8.7K RPS with 1-second average response times for simple GET requests serving static content (a small 33-b…

---

## [Pathological scheduler behavior on specific AWS instance types](https://erlangforums.com/t/pathological-scheduler-behavior-on-specific-aws-instance-types/4835)

<div class="topic-metadata">

**Author:** [@jstimps](https://erlangforums.com/u/jstimps)\
**Replies:** 7\
**Last updated:** [June 19, 2025, 12:51pm UTC](https://erlangforums.com/t/pathological-scheduler-behavior-on-specific-aws-instance-types/4835 "2025-06-19T12:51:35Z")

</div>

We observed some undesirable performance of Erlang BEAM on some specific AWS instances, and not on others. The poorly performing instance types are c7i.24xlarge and c7i.metal-48xl. On these systems (perhaps the same unde…

---

## [Erlang reports much less memory allocated than OS](https://erlangforums.com/t/erlang-reports-much-less-memory-allocated-than-os/4462)

<div class="topic-metadata">

**Author:** [@fpxu](https://erlangforums.com/u/fpxu)\
**Replies:** 5\
**Last updated:** [February 11, 2025, 2:50am UTC](https://erlangforums.com/t/erlang-reports-much-less-memory-allocated-than-os/4462 "2025-02-11T02:50:36Z")

</div>

Hi there I have an application to broadcast messages to many remote clients, when doing the performance testing that delivering large messages, I encountered an OOM issue. Message flow: Message → pre-process genserver…

---

## [Great number of page faults while reading files](https://erlangforums.com/t/great-number-of-page-faults-while-reading-files/4332)

<div class="topic-metadata">

**Author:** [@door](https://erlangforums.com/u/door)\
**Replies:** 6\
**Last updated:** [January 6, 2025, 10:42am UTC](https://erlangforums.com/t/great-number-of-page-faults-while-reading-files/4332 "2025-01-06T10:42:18Z")

</div>

Hi, We compared Nginx and Erlang in roughly the same role as edge servers: delivering HLS video with caching from a DVR server. The load was approximately 2 Gbps, host with 24 cpu cores. When comparing the results of …

---

## [Compiler optimization idea: binary:split/3 compiling lists as patterns at compile time](https://erlangforums.com/t/compiler-optimization-idea-binary-split-3-compiling-lists-as-patterns-at-compile-time/3964)

<div class="topic-metadata">

**Author:** [@sabiwara](https://erlangforums.com/u/sabiwara)\
**Replies:** 7\
**Last updated:** [September 3, 2024, 1:18pm UTC](https://erlangforums.com/t/compiler-optimization-idea-binary-split-3-compiling-lists-as-patterns-at-compile-time/3964 "2024-09-03T13:18:12Z")

</div>

Hi, Context: using compiled patterns (binary:compile\_pattern/1) for functions like binary:split/3 can be much faster than passing a list of binaries due to compiled patterns being refs, they cannot be generated at com…

---

## [Profile-Guided Optimization (PGO) benchmarks on Erlang OTP](https://erlangforums.com/t/profile-guided-optimization-pgo-benchmarks-on-erlang-otp/3028)

<div class="topic-metadata">

**Author:** [@zamazan4ik](https://erlangforums.com/u/zamazan4ik)\
**Replies:** 4\
**Last updated:** [November 14, 2023, 12:34pm UTC](https://erlangforums.com/t/profile-guided-optimization-pgo-benchmarks-on-erlang-otp/3028 "2023-11-14T12:34:30Z")

</div>

Hi! I am doing research on Profile-Guided Optimization (PGO) adoption across the industry. According to the build scripts, Erlang OTP already supports building with PGO. However, I didn’t find any performance benchmarks…

---

## [ERTS started to work slower](https://erlangforums.com/t/erts-started-to-work-slower/2903)

<div class="topic-metadata">

**Author:** [@snakeduse](https://erlangforums.com/u/snakeduse)\
**Replies:** 10\
**Last updated:** [September 29, 2023, 6:47pm UTC](https://erlangforums.com/t/erts-started-to-work-slower/2903 "2023-09-29T18:47:19Z")

</div>

Hello! On OTP 23 our performance tests for our project were passing with a small percentage of slowdown - 7 out cases which was working slowly on 10K iterations. But after move on OTP 26.0.2 our performance tests are s…

---

## [Allocator tweak suggestions (ETS/binary)](https://erlangforums.com/t/allocator-tweak-suggestions-ets-binary/1062)

<div class="topic-metadata">

**Author:** [@kjnilsson](https://erlangforums.com/u/kjnilsson)\
**Replies:** 21\
**Last updated:** [September 27, 2022, 9:39am UTC](https://erlangforums.com/t/allocator-tweak-suggestions-ets-binary/1062 "2022-09-27T09:39:02Z")

</div>

I (RabbitMQ/Ra) has a resource profile where lots of entries are written and read from an ETS (set) table. Each key is unique so the table will grow in size until it reaches some limit, at which point it will be deleted.…

---

## [Notes on Erlang Performance](https://erlangforums.com/t/notes-on-erlang-performance/1727)

<div class="topic-metadata">

**Author:** [@AstonJ](https://erlangforums.com/u/AstonJ)\
**Replies:** 2\
**Last updated:** [August 8, 2022, 2:29pm UTC](https://erlangforums.com/t/notes-on-erlang-performance/1727 "2022-08-08T14:29:43Z")

</div>

Come across any talks, blog posts or forum posts that highlight why Erlang is so performant? If so please feel free to include them in this thread :smiley:

---

## [Performance of socket option {packet, 4}](https://erlangforums.com/t/performance-of-socket-option-packet-4/1562)

<div class="topic-metadata">

**Author:** [@ansd](https://erlangforums.com/u/ansd)\
**Replies:** 4\
**Last updated:** [June 22, 2022, 2:21pm UTC](https://erlangforums.com/t/performance-of-socket-option-packet-4/1562 "2022-06-22T14:21:01Z")

</div>

Hey, In rabbitmq-server PR #5054 I switched from socket option {packet, 0} to socket option {packet, 4} for the RabbitMQ stream protocol. My expectation was to get a speedup since packet parsing will be done by the Erl…
