Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^2: Tk GUI and Listen?

by Anonymous Monk
on Oct 27, 2006 at 14:14 UTC ( #580923=note: print w/replies, xml ) Need Help??

in reply to Re: Tk GUI and Listen?
in thread Tk GUI and Listen?

I've looked at this module before, and I seem to run into a similar peformance issue.

Replies are listed 'Best First'.
Re^3: Tk GUI and Listen?
by jdtoronto (Prior) on Oct 27, 2006 at 16:22 UTC
    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.


      Your solution does work with a minimal performance impact, but unfortunately it only gets triggered when the file is either opened or closed. The file I'm listening to is always open and getting updated once every x seconds depending on what the external app is doing.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://580923]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2020-10-20 09:39 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (209 votes). Check out past polls.