tomassasovsky / WeAppe.ar

Open-Source time logger backend made in Dart
MIT License
5 stars 0 forks source link

performance test and comparison with nodejs (expressjs) #16

Closed tomassasovsky closed 2 years ago

NazarenoCavazzon commented 2 years ago

We ran 2 tests on Rust, Go Lang, Dart and JavaScript using the k6 open source tool to measure performance. The base project was the same for the 4 languages, only one Get endpoint that retrieves a simple JSON message, {"name": "John Doe"},. To keep performance as good as possible in every case we disabled the logs of the server requests. For more info about the projects we're going to put the repos in the message below.

First Test (To break the server):

Second Test (To stress the server):

RESULTS

JS: First Test (it broke at 11,000 VUs approx.): image

Second Test: image

Dart: First Test (it broke at 13,000 VUs approx.): image

Second Test: image

Go: First Test (it broke at 16,000 VUs approx.): image

Second Test: image

Rust First Test (it broke at 17,000 VUs approx.):: image

Second Test: image

CONCLUSIONS Dart seems to be more closer to Go and Rust than to JS in our rudimentary performance tests, but something to keep in account is that Dart Backend is still very raw and it's in an early stage, so there is a lot of development to be done, and something that we noticed is that Dart may lack of scalability when speaking about micro services, that's because we don't currently have an approach to solve this problem.