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 19.3.6.13: *6.03s*
- OTP 20.3.8.24: *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
bugs.erlang.org?

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


[1]: test_pb.erl -
https://gist.github.com/g-andrade/a9dba4dacc46d609a68b2008f0d948b7
[2]: test.proto -
https://gist.github.com/g-andrade/1d187d738905633c8dfa99cbd11e281b
[3]: gpb - https://github.com/tomas-abrahamsson/gpb

-- 
Guilherme
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200728/0a0c31a9/attachment.htm>


More information about the erlang-questions mailing list