[erlang-questions] node.js vs erlang

Joe Armstrong erlang@REDACTED
Tue Jun 17 12:19:25 CEST 2014


On Tue, Jun 17, 2014 at 12:10 PM, Greg Young <gregoryyoung1@REDACTED>
wrote:

> Can you really compare the two? :)
>

Yes - there are many things we can measure. Performance, Latency, memory
usage and so on.

Right now I'm measuring latency -

I set up a few thousand parallel processes which request fib(N) and measure
the latency of the responses.

the results will be published when I understand them :-)

/Joe






>
>
> On Mon, Jun 16, 2014 at 5:55 PM, Juan Facorro <juan.facorro@REDACTED>
> wrote:
>
>> Hi Joe,
>>
>> There's a semicolon missing after the declaration of fib(), which for
>> some reason, causes the stack overflow. After adding it the error went away.
>>
>> HTH,
>>
>> J
>>
>> On Monday, June 16, 2014 11:22:23 AM UTC-3, Joe Armstrong wrote:
>>>
>>> I'm trying to compare node.js with erlang. I'm a total node.js novice
>>> BTW - but I've written some JS.
>>>
>>> Program 1 is just fibonacci - I want a web server to compute fib(N)
>>>
>>> So requesting http://127.0.0.1:8124/fib?n=2 should compute and return
>>> fib(2)
>>>
>>> My node.js attempt crashes
>>> Here's the code in fib.js
>>>
>>> --- fib.js
>>>
>>> var http = require('http');
>>> var url  = require('url');
>>>
>>> function fib(n) {
>>>   if (n < 2) {
>>>     return 1;
>>>   } else {
>>>     return fib(n - 2) + fib(n - 1);
>>>   }
>>> }
>>>
>>> http.createServer(function (req, res) {
>>>     var q = url.parse(req.url, true).query;
>>>     var n = q.n;
>>>     var result = fib(n);
>>>     console.log('fib('+ n + ')= '+result);
>>>     res.writeHead(200, {'Content-Type': 'text/plain'});
>>>     res.end(result.toString());
>>> }).listen(8124, "127.0.0.1");
>>>
>>> console.log('Server running at http://127.0.0.1:8124/');
>>>
>>> -- end
>>>
>>> -- now we run it
>>>
>>> $ node fib.js
>>> Server running at http://127.0.0.1:8124/
>>> fib(2)= 2
>>>
>>> /home/ejoearm/Dropbox/experiments/hello_world/fib.js:5
>>> function fib(n) {
>>>             ^
>>> RangeError: Maximum call stack size exceeded
>>>
>>> fib(2) has run out of stack space????
>>>
>>> $ node --version
>>> v0.8.21
>>>
>>> Any ideas what I'm doing wrong
>>>
>>> Cheers
>>>
>>> /Joe
>>>
>>>
>>>
>>>
>>>
>>>
>>>  --
>> Remember to send a copy to erlang (dot) questions (at) erlang (dot) org
>> when posting.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Erlang Programming" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to erlang-programming+unsubscribe@REDACTED
>> To post to this group, send email to erlang-programming@REDACTED
>> Visit this group at http://groups.google.com/group/erlang-programming.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Studying for the Turing test
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140617/69004c67/attachment.htm>


More information about the erlang-questions mailing list