[
https://issues.apache.org/jira/browse/IO-278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergio Bossa updated IO-278:
----------------------------
Attachment: TailerTest.diff
Tailer.diff
> Improve Tailer performance with buffered reads
> ----------------------------------------------
>
> Key: IO-278
> URL: https://issues.apache.org/jira/browse/IO-278
> 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: http://www.atlassian.com/software/jira