Skip to content

catberry/catberry-benchmarks

Repository files navigation

Benchmark for Catberry's server-side rendering

Description

For now, it's just a comparison with bare express application which uses Jade template engine.

Methodology

The ApacheBench, Version 2.3 <$Revision: 1604373 $> is used for testing:

  • Number of requests is 3000
  • Concurrency level is 10

Both applications should:

  • Render almost identical HTML (except Catberry renders the extra symbol in style tag).
  • Use the same set of data generated by ./generate-data.js script and saved as ./data.json
  • Have configurations with turned off log messages for every request
  • Have last versions of packages (./setup.sh to install all dependencies)

Results

You can find the results in the ./results directory which are received on such configuration:

node --version
v5.8.0

Here are the main numbers:

Catberry

Requests per second:    354.02 [#/sec] (mean)
Time per request:       28.247 [ms] (mean)
Time per request:       2.825 [ms] (mean, across all concurrent requests)
Transfer rate:          641.66 [Kbytes/sec] received

Express

Requests per second:    154.88 [#/sec] (mean)
Time per request:       64.566 [ms] (mean)
Time per request:       6.457 [ms] (mean, across all concurrent requests)
Transfer rate:          289.49 [Kbytes/sec] received

Conclusion

Despite on Catberry's stream-based and component-based rendering engine which has overhead related to usage of stream transformations with HTML parsing it has better performance than a bare Express with the same template engine at least on small size of data.

Contributing

Feel free to submit a PR with your benchmark built the same way.

About

Benchmark for Catberry's server-side rendering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published