Build times almost doubling on every major release

Guilherme Andrade g@REDACTED
Tue Jul 28 18:13:16 CEST 2020

Hello list,

I've got this large module[1] (31k lines long) of protocol buffers[2]
boilerplate whose compilation time has almost doubled on every major Erlang
release since OTP 21.

- OTP *6.03s*
- OTP *6.73s*
- OTP 21.3.8: *6.27s*
- OTP 22.1: *13.93s*
- OTP 23.0: *20.34s*

The source file and the environment is the same for all scenarios. The
measured intervals pertain only to compilation and not to the generation of
the boilerplate. Here's how I measured them:

    > timer:tc(fun () -> c(test_pb) end).

The boilerplate code was generated using gpb[3] 4.13.0 and the OS is a
GNU/Linux one, running on top of a circa-2012 Core i5 CPU.

Is this a known issue? I did search for related threads in the mailing list
archive but nothing popped out. Is it worth opening a ticket at

Thanks in advance for any thoughts you may have on the matter.

[1]: test_pb.erl -
[2]: test.proto -
[3]: gpb -

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the erlang-questions mailing list