Implement tick events compression in a log file.
authormikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 11 Jun 2009 14:08:34 +0000 (14:08 +0000)
committermikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 11 Jun 2009 14:08:34 +0000 (14:08 +0000)
commit8c16bc13bc516c3be5ef2021b41f8b71ed25828e
tree0dfc182ed315b53e20a6b38d717c423ecdfd05b5
parentf1fcab31c2ada4cb1836ba9043c2786f55fb6edd
Implement tick events compression in a log file.

Two techniques are involved:
 - compress repeated line ends (common stack beginnings) by using back references;
 - do RLE compression of repeated tick events.

This gives only 5% size reduction on benchmarks run, but this is because tick events are only comprise 10% of file size. Under Chromium winnings are bigger because long repeated samples of idleness are now compressed into a single line.

Tickprocessor will be updated in the next patch.

Review URL: http://codereview.chromium.org/123012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/log-utils.cc
src/log-utils.h
src/log.cc
src/log.h
src/utils.h
test/cctest/test-log-utils.cc