Support Large Files in Killink

Posted by Kirby Turner on April 10, 2007

The first version of Killink is feature complete, but there was one thing that was brothering me, large file support. Opening, printing, and saving a large file in Killink is a rather slow process so I’ve been working on improving these 3 areas.

The first area I worked on was opening a large file, which is what I will talk about today. After profiling the application I found the biggest bottleneck was populating the spreadsheet with display data. This was an easy fix that involved “freezing” display while the spreadsheet is loaded with data. This change resulted in a huge performance increase. The test file I used took minutes to load prior to the change and only 2 seconds after the change. But then Killink took another perform hit.

A beta tester reported the bug that embedded new line characters were not properly handled. I modified the CSV parser to check each byte of data as it was read from the hard drive. However this is a very inefficient approach. A better approach is to buffer each read. In other words, instead of reading a single byte from the hard drive it is better to read a chuck of bytes. The chuck can be any size such as 65K chucks or 1MB chucks.

Buffering the file read process gave Killink the performance boost it needed to open large files. It’s not as fast as I would like it but it’s getting closer.

The performance improved version of Killink should be ready for download in a couple of days.

Posted in business. Tagged in killink, white peak software.

Related Articles