Performance Benchmarks

A reference site was created to measure an performance in a simple but practical scenario. It's a page 25-26k in size with a five paragraph blog post and a dozen comments. An identical implementation was put together as an basic aspx app, monorail with spark, and monorail with velocity.

Spark comes in somewhere between aspx and velocity.

  • static file 0.6-0.7 ms/request
  • aspx 1.9-2.0 ms/request
  • spark 2.4-2.5 ms/request
  • nvelocity 3.3-3.5 ms/request

It's not a direct comparison of course, because spark and velocity include the execution of a front controller.

In the end the rendering performance profiles are so similar it probably wouldn't be the deciding factor between technologies.

Raw data

Each line is a total of a thousand requests on a single processor. The ten numbers are seconds per hundred to have a sense of variance. Source code for benchmark is at http://dev.dejardin.org/svn/spark/trunk/src/Benchmark.

----------
http://localhost/BenchmarkAspx/Content/Tidy_Blog/css/style.css
8934 k, 0.719 seconds : 0.063 0.086 0.096 0.082 0.077 0.058 0.063 0.072 0.058 0.
059

http://localhost/BenchmarkAspx/Home/Index.aspx
26228 k, 2.015 seconds : 0.237 0.204 0.221 0.209 0.196 0.187 0.198 0.186 0.186 0.185

http://localhost/BenchmarkSpark/Content/Tidy_Blog/css/style.css
8934 k, 0.636 seconds : 0.063 0.069 0.067 0.068 0.059 0.06 0.067 0.059 0.059 0.06

http://localhost/BenchmarkSpark/Home/Index.castle
25625 k, 2.541 seconds : 0.299 0.253 0.257 0.28 0.237 0.244 0.244 0.246 0.239 0.236

http://localhost/BenchmarkVelocity/Content/Tidy_Blog/css/style.css
8934 k, 1.02 seconds : 0.112 0.102 0.106 0.098 0.101 0.101 0.103 0.099 0.097 0.097

http://localhost/BenchmarkVelocity/Home/Index.castle
25828 k, 3.511 seconds : 0.376 0.341 0.339 0.359 0.364 0.35 0.357 0.334 0.348 0.339

----------
http://localhost/BenchmarkAspx/Content/Tidy_Blog/css/style.css
8934 k, 0.625 seconds : 0.059 0.072 0.066 0.06 0.06 0.06 0.06 0.064 0.06 0.058

http://localhost/BenchmarkAspx/Home/Index.aspx
26228 k, 1.91 seconds : 0.201 0.207 0.188 0.185 0.186 0.186 0.186 0.195 0.185 0.187

http://localhost/BenchmarkSpark/Content/Tidy_Blog/css/style.css
8934 k, 0.611 seconds : 0.062 0.069 0.059 0.059 0.059 0.059 0.061 0.059 0.058 0.062

http://localhost/BenchmarkSpark/Home/Index.castle
25625 k, 2.417 seconds : 0.241 0.258 0.237 0.242 0.237 0.235 0.248 0.236 0.239 0.24

http://localhost/BenchmarkVelocity/Content/Tidy_Blog/css/style.css
8934 k, 0.992 seconds : 0.099 0.101 0.099 0.099 0.098 0.099 0.098 0.097 0.098 0.1

http://localhost/BenchmarkVelocity/Home/Index.castle
25828 k, 3.693 seconds : 0.387 0.425 0.368 0.341 0.374 0.343 0.395 0.351 0.35 0.356

----------
http://localhost/BenchmarkAspx/Content/Tidy_Blog/css/style.css
8934 k, 0.626 seconds : 0.061 0.059 0.077 0.06 0.058 0.059 0.059 0.06 0.058 0.071

http://localhost/BenchmarkAspx/Home/Index.aspx
26228 k, 1.914 seconds : 0.192 0.189 0.186 0.187 0.19 0.199 0.186 0.209 0.187 0.185

http://localhost/BenchmarkSpark/Content/Tidy_Blog/css/style.css
8934 k, 0.6 seconds : 0.058 0.062 0.059 0.06 0.059 0.06 0.059 0.059 0.061 0.059

http://localhost/BenchmarkSpark/Home/Index.castle
25625 k, 2.379 seconds : 0.244 0.237 0.237 0.237 0.238 0.235 0.236 0.235 0.236 0.238

http://localhost/BenchmarkVelocity/Content/Tidy_Blog/css/style.css
8934 k, 0.984 seconds : 0.098 0.098 0.097 0.097 0.098 0.1 0.098 0.098 0.098 0.099

http://localhost/BenchmarkVelocity/Home/Index.castle
25828 k, 3.373 seconds : 0.344 0.342 0.355 0.334 0.335 0.345 0.331 0.336 0.33 0.316

Press [enter] to exit:

benchmark page

Attachments