|
|
| Author |
Message |
|
| Kabir |
Posted: Mon Apr 02, 2012 5:49 pm |
|
|
|
Joined: 02 Apr 2012
Posts: 2
|
Recently, I am evaluating the performance of Erlang Diameter 1.0 in OTP release 15. I uses the example code to create a simple server. What it does is just to send 2001 back for each request from a client.
The purpose of the evaluation is to seek the possibility of adopting it for new projects. Its performance is compared against an in-house Diameter stack written in C++.
Erlang emulator is compiled and running with hipe, async threads and kernel pool. The OS is Linux 2.6.18 (a RedHat distribution).
However, the result shows that Erlang Diameter performs much slower. With 3600 Diameter messages per second, Erlang is using 100% of CPU while the in-house Diameter stack is only using 5%. Even after a brief code inspection in the Diameter stack, I found that diameter_watchdog is restarting timer for every single request it receives, which is a bit excessive. However, that doesn't seem to be the key bottleneck.
I was wondering. Has anyone else done the similar experiment? I am curious about how others evaluate Erlang Diameter stack.
PS. eprof doesn't work for some reason. Whenever I try to stop profiling, it causes segmentation fault. |
|
|
| Back to top |
|
| Kabir |
Posted: Mon Apr 02, 2012 9:38 pm |
|
|
|
Joined: 02 Apr 2012
Posts: 2
|
| Frankly, I was expecting Erlang to take 4 times more CPU time. But spending 20 times more is just a shock to me. |
|
|
| Back to top |
|
|
|
All times are GMT
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
|