Last time I was reading about fanotify it still seemed like their api is not finalized yet. Maybe that changed with 2.6.36. Also, I think it has slightly different use scenarios because it gives you an open file descriptor for the file that triggered the event. Maybe thats not always what people want. So, having modules for both would be best I guess.
I did not really get anywhere with the abstract file notification module since the last discussion here. But that should ideally build on top of some seperate module anyhow. So maybe it would be ok to put some System.Inotify into 7.9, even though I will wait for a descision at Roxen to see if it makes sense to put in mine.
In your performance comparisons, did you hash only the prefix also for CRC and the perfect hash? Which CRC32 implementation have you been using? Was this the SSE4.2 stuff?
On Sat, 23 Oct 2010, Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum wrote:
hope you returned home well. I remember us talking about that you have a file notification module somewhere that you wanted to commit into 7.9. As i still have my inotify stuff lying around, do you think you can make your code available somewhere in some git so that i can have a look and possibly merge (if there is something to merge).
I'll have to clear it with Roxen first, since it's part of the product.
BTW: It seems inotify is on the way to being obsoleted by fanotify.
BTW2: I just performed some comparisons of Pike's default string hashing function (aka DO_HASHMEM()) with CRC32, and the variance difference to a perfect hash function for the both are comparable, with CRC32 consistently being somewhat better. ZERO below is the pessimal hashfunction that returns zero for all strings.
Hashfunction: DO_HASHMEM CRC32 ZERO
Hilfe: 0.0368884 0.0359854 2.67415 GTK1: 0.0319663 0.0301390 1.90823 GTK2: 0.0320599 0.0305676 1.96876 Shuffler: 0.0496259 0.0475051 2.42460