[ 
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

        

Reply via email to