Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: Tk GUI and Listen?

by jdtoronto (Prior)
on Oct 27, 2006 at 16:22 UTC ( #580953=note: print w/ replies, xml ) Need Help??


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

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


Comment on Re^3: Tk GUI and Listen?
Select or Download Code
Replies are listed 'Best First'.
Re^4: Tk GUI and Listen?
by Anonymous Monk on Oct 27, 2006 at 17:12 UTC
    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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (8)
As of 2015-07-08 03:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls