about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-05-03 22:11:11 -0700
committerEric Wong <normalperson@yhbt.net>2009-05-03 22:11:11 -0700
commitd613f0aaa2758e294e440766c02243a2023b599c (patch)
tree919d855a14747471a292f27508a2d430ae61e54a /test
parentea1ef5d2c6d8fe612d620ee18250017da4ae5229 (diff)
downloadunicorn-d613f0aaa2758e294e440766c02243a2023b599c.tar.gz
First, reduce no-op fchmod syscalls under heavy traffic.
gettimeofday(2) is a cheaper syscall than fchmod(2).  Since
ctime resolution is only in seconds on most filesystems (and
Ruby can only get to seconds AFAIK), we can avoid fchmod(2)
happening within the same second.  This allows us to cheat on
synthetic benchmarks where performance is measured in
requests-per-second and not seconds-per-request :)

Secondly, cleanup the acceptor loop and avoid nested
begins/loops as much as possible.  If we got ECONNABORTED, then
there's no way the client variable would've been set correctly,
either.  If there was something there, then it is at the mercy
of the garbage collector because a method can't both return a
value and raise an exception.
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions