[erlang-questions] Erlang basic doubts about String, message passing and context switching overhead

Bhag Chandra <>
Tue Jan 10 19:58:56 CET 2017


Hello,

I have been coding in Erlang for 2 years.  A wonderful language but not
very big community, so I cant discuss my questions with programmers around
me (Java, Python guys). I found out about this list today.

I have some fundamental doubts about the Erlang. It would be great if
someone can help me clarify them.


1) "Strings in Erlang are internally treated as a list of integers of each
character's ASCII values, this representation of string makes operations
faster. For example, string concatenation is constant time operation in
Erlang."  Can someone explain why?

2) "It makes sense to use Erlang only where system's availability is very
high".  Is it not a very general requirement of most of the systems?
Whatsapp to Google to FB to Amazon to Paypal to Barclays etc they all are
high availability systems, so we can use Erlang in all of them?

3) "Every message which is sent to a process, goes to the mailbox of that
process. When process is free, it consumes that message from mailbox". So
how exactly does process ask from the mailbox for that message? Is there a
mechanism in a process' memory which keeps polling its mailbox. I basically
want to understand how message is sent from mailbox to my code in process.

4) We say that a message is passed from process A to process B by simply
using a bang (!) character, but what happens behind the scenes to pass this
message? Do both processes establish a tcp connection first and then pass
message or what?

5) At 30:25 in this video ( https://youtu.be/YaUPdgtUYko?t=1825 ) Mr.
Armstrong is talking about the difference between the context switching
overhead between OS threads and Erlang processes. He says, thread context
switching is of order 700 words but Erlang process context switching is ...
?
I cant understand what he said, if someone could tell.


P.S. Please excuse for any grammatical errors, English is not my first
language.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170111/1ca302a7/attachment.html>


More information about the erlang-questions mailing list