During the last 2+ weeks I have resolved many pending TODOs in the gio/kqueue project, including
- Memory allocation policy improvements;
- Some performance tricks;
- Little refactorings and documentation;
Also, the missing files monitoring was implemented and merged into the kqueue/master
branch.
So, almost all the planned functionality for GIO kqueue backend is ready and I am testing it actively now.
The backend works fine on tiny homebrew examples, like
rm file
touch file
touch file
echo 'Hello' >> file
mv file file2
rm file2
but it is not enough. I have wrote a GNU Smalltalk script that generates a directory tree and simulates a heavy file system activity on it. It touches, deletes, moves files and directories and generates subdirectories in that tree for ~50 times per second. The test application (not published yet) monitors activity on that tree. I have discovered some issues, but I am not sure if these issues are related to the backend or to the application. Currently I am working on resolving it.
Anyway, the rapid monitoring on a tree of ~1000 nodes looks fantastic! :)
I have also posted two announcements, one on tech-pkg
NetBSD list and another one on Glib/GTK+ developers list.
Stay tuned.