A couple of simple things if you had performance difficulties. After you have the
$notifyObj you will notice that I don't actually use the
Notify portion of
Win32::ChangeNotify. You need to use the Tk timer event to check the file, you will see from the line:
$mw->repeat( 2000, \&checkNotify );
That I use the Tk internal timer to call
checkNotify, then in that sub I do:
my $rv = $notifyObj->wait(0);
So I call the notify object with a timeout of 0 - i.e. I ask it to return immediately with the status. Just to check, I have
Benchmark already running in the application the code came from. Here are the timings for three runs through the changeNotofy:
A3G took: 8.82149e-005 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 C
+PU)
A3G took: 0.000113964 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CP
+U)
A3G took: 8.60691e-005 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 C
+PU)
At a maximum of 114us I don't see a performance issue here.
jdtoronto