[erlang-questions] Erlang Cost Model

Joe Armstrong <>
Wed Sep 16 22:09:50 CEST 2015

On Wed, Sep 16, 2015 at 9:03 PM, Theepan <> wrote:
> I have never heard of such a cost model for Erlang’s basic operations, but
> most of the time I profiled the code to find out the cost of a code-segment,
> using tools and functions provided by Erlang/OTP. The Erlang documents list
> do-s and don’t-s, and from the engineering school I know good programing
> practices. And most of the time I use common sense of how to write a good
> piece of code. This is my story, and wrote it to give my one cent on the
> crowd sourcing part.
> At an Erlang process level operations can be timed, as they directly map to
> the operations at the underlying OS. And then you will have to add some
> extra cost for the process management by the OTP. This extra cost is a
> function of many variables like number of cores, configuration of
> schedulers, yielding frequency, length of process queue, GC and so on.

Right - the problem is not measuring how long the primitives take
it is making sense of the measurements.

Even arithmetic is problematic - how long does an integer multiply take?
- answer "it depends" - Erlang has bignums not fixnums.
The python cost model gives a time for multiplying integers, but for
bignums the time will depend upon the size of the  bignums and this
depends upon the algorithm. Just looking at code, you can't see how
large the integers are.

>From what I've seen extrapolation from "programs in the small" (ie
answering question like - "how long does an integer multiply take") to
"programs in the large" (ie millions of processes collaborating to
provide a service) is very hard.



> is no straightforward way, but through a deeper analysis they can be
> determined.
>  Theepan
> On Wed, Sep 16, 2015 at 8:33 PM, Eric des Courtis
> <> wrote:
>> What is the cost model of all operations in Erlang 18?
>> For example Python has this cost model
>> http://scripts.mit.edu/~6.006/fall07/wiki/index.php?title=Python_Cost_Model
>> .
>> I either want a link to a single source for this information or I would
>> like to crowd source the information here now.
>> Thanks for your cooperation.
>> Eric des Courtis
>> _______________________________________________
>> erlang-questions mailing list
>> http://erlang.org/mailman/listinfo/erlang-questions
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list