Project

General

Profile

Activity

From 02/02/2017 to 02/11/2017

02/11/2017

10:58 PM Revision 328d0fa5: Adding proper option parsing and some general improvements. I've added an option for decompression but I still need to implement it.
David Sorber

02/09/2017

12:00 AM Revision 4f833a04: A tiny bit of cleanup from my previous commit...
David Sorber

02/08/2017

11:51 PM Revision f8e600bc: I figured out a somewhat silly, but highly effective way do progress reporting. The basic idea is that we know the output file names and the exact order in which they will appear. Therefore if output X+1 exists on the file system it means that output X is already complete. Now the worker thread polls the file system waiting for the output files to appear and then processses them instead of waiting until the forked subprocess terminates. In basic testing it appears that this mechanism is about the same speed as the previous version that does not include progress reporting. This implementation is cross platform and doesn't suffer from the problems of inotify (Linux only) or kqueues (BSD/Mac OS equivalent of inotify that requires an open file descriptor for each monitored file). I still need to implement input option parsing and a decompress mode so I can do proper testing.
David Sorber

02/07/2017

10:25 PM Revision f6c21781: Well I fixed my bizzarre problem last night. It turns out that I was building the argv list for each forked process from the main input file list instead of from the sub list passed to each thread. Now PCA runs in a much more stable fashion. Next I'd like to add some sort of progress reporting and also decompress support. I had the idea of using inotify on the output files (since their names are known a priori) however inotify is Linux only and I haven't yet found a drop in replacement for Mac OS.
David Sorber

02/05/2017

05:42 PM Revision b216a5b0: Adding my initial PCA work. This project depends on packJPG. I see intermittent issues and I'm not sure if it is caused by my code or by the packJPG code.
David Sorber

02/02/2017

01:54 PM Revision 30f264c2: Correcting memory leak cause by not calling sqlite3_finalize.
David Sorber
 

Also available in: Atom