New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boost AM::Serializer perf #232

Closed
wants to merge 0 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@SamSaffron
Copy link
Contributor

SamSaffron commented Mar 14, 2013

Benchmarks (in the benchmark folder) show these changes give 3x perf for serialization under some cases.

I the real world for a big discourse page we see a 10% boost (though it was a bit bigger on 2.0 for some reason):

BEFORE:

sam@ubuntu:~/Source/discourse$ ab -n 30 -c 1 http://l.discourse:3000/t/install-tutorial-for-the-ruby-dumb-test/2027
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking l.discourse (be patient).....done


Server Software:        thin
Server Hostname:        l.discourse
Server Port:            3000

Document Path:          /t/install-tutorial-for-the-ruby-dumb-test/2027
Document Length:        57264 bytes

Concurrency Level:      1
Time taken for tests:   5.182 seconds
Complete requests:      30
Failed requests:        6
   (Connect: 0, Receive: 0, Length: 6, Exceptions: 0)
Write errors:           0
Total transferred:      1744598 bytes
HTML transferred:       1717909 bytes
Requests per second:    5.79 [#/sec] (mean)
Time per request:       172.719 [ms] (mean)
Time per request:       172.719 [ms] (mean, across all concurrent requests)
Transfer rate:          328.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   143  173  22.4    179     215
Waiting:      143  173  22.4    179     215
Total:        143  173  22.4    179     215

Percentage of the requests served within a certain time (ms)
  50%    179
  66%    184
  75%    186
  80%    188
  90%    210
  95%    214
  98%    215
  99%    215
 100%    215 (longest request)


AFTER:

sam@ubuntu:~/Source/discourse$ ab -n 30 -c 1 http://l.discourse:3000/t/install-tutorial-for-the-ruby-dumb-test/2027
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking l.discourse (be patient).....done


Server Software:        thin
Server Hostname:        l.discourse
Server Port:            3000

Document Path:          /t/install-tutorial-for-the-ruby-dumb-test/2027
Document Length:        57097 bytes

Concurrency Level:      1
Time taken for tests:   4.911 seconds
Complete requests:      30
Failed requests:        12
   (Connect: 0, Receive: 0, Length: 12, Exceptions: 0)
Write errors:           0
Total transferred:      1739581 bytes
HTML transferred:       1712922 bytes
Requests per second:    6.11 [#/sec] (mean)
Time per request:       163.696 [ms] (mean)
Time per request:       163.696 [ms] (mean, across all concurrent requests)
Transfer rate:          345.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   140  164  25.9    145     231
Waiting:      140  164  25.9    145     231
Total:        140  164  25.9    145     231

Percentage of the requests served within a certain time (ms)
  50%    145
  66%    182
  75%    183
  80%    184
  90%    199
  95%    213
  98%    231
  99%    231
 100%    231 (longest request)
@steveklabnik

This comment has been minimized.

Copy link
Contributor

steveklabnik commented Mar 14, 2013

How did you make a PR without any commits?

@SamSaffron

This comment has been minimized.

Copy link
Contributor

SamSaffron commented Mar 14, 2013

sorry ... just a sec ... fixing this up

@SamSaffron SamSaffron closed this Mar 14, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment