commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergio Bossa (JIRA)" <>
Subject [jira] [Commented] (IO-278) Improve Tailer performance with buffered reads
Date Sat, 16 Jul 2011 12:04:59 GMT


Sergio Bossa commented on IO-278:

Also, while I was at it I fixed a concurrency bug in TestTailerListener causing intermittent
test failures (the lines list needed to be thread safe).

> Improve Tailer performance with buffered reads
> ----------------------------------------------
>                 Key: IO-278
>                 URL:
>             Project: Commons IO
>          Issue Type: Improvement
>    Affects Versions: 2.0.1
>            Reporter: Sergio Bossa
>         Attachments: Tailer.diff, TailerTest.diff
> I noticed Tailer read performances are pretty poor when dealing with large, frequently
written, log files, and this is due to the use of RandomAccessFile which does unbuffered reads,
hence causing lots of disk I/O.
> So I improved the Tailer implementation by introducing buffered reads: it works by loading
large (configurable) file chunks in memory, and reading lines from there; this enhances performances
in my tests from 10x to 30x depending on the file size.
> I also added two test cases: one to simulate reading of a large file (you can use it
to compare performances), the other to verify correct handling on buffer breaks; obviously,
all tests pass.
> I'm attaching the diff files, let me know if it's okay for you guys!

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message