stronglink
stronglink copied to clipboard
Slow logging
Our alogf
log function prefixes logged messages with a timestamp, which is very useful. Unfortunately, that requires two printf statements, which we don't want to get split up by concurrent writes. Right now we're using flockfile(3)
which makes logging even slower than usual.
Possible approaches:
- Do all logging on a single thread
- Use
fputs_unlocked(3)
to write without locking - Use
write(2)
(or libuv's equivalent) to write without locking
Not sure what the best (simplest/fastest) solution is.
Performance does in fact matter for traffic logging.
Actually alogf
isn't used for traffic logging. However traffic logging could still be made faster by doing all writing on a single thread, which would let us omit extra locking.