Traveling on the Darkside of VFP - Director's Cut
Christof Wollenhaupt presented a marathon session this evening at the Detroit Area Fox User Group, and what a session it was. For those who saw Christof present this session at Southwest Fox and/or German DevCon, you saw a terrific session. But DAFUG listened to Christof discuss some really interesting observations he has made with respect to the behavior of VFP for more than three hours - a true director's cut.
Christof started the session and told us (maybe warned us {g}) we are in a democracy he will talk until 50% of the people in the room left. He ended by running out of material to cover. Only one person left. I think he would have gone on to a second session, but the group was getting hungry for dinner and it was 9:30.
I personally learned numerous things and I saw part of his session in Mesa. One particular aspect was the discussion on memory, variables, and garbage collection. Christof discussed how VFP uses the idle loop to take time to purge unused memory variables. This loop is entered when VFP is waiting (READ EVENTS, INKEY(), a WAIT WINDOW, or even while tracing code in the debugger). Christof also noted something important to me in particular when he pointed out the SYS(1104) function (documented since VFP 7.0 and in the product since FoxPro 2.6) gives the developer a way to initiate garbage collection. I think this is perfect for a project I am working on where I am converting data and one of the routines is taking 11-12 hours scanning through records. The loop gets slower the more records it processes. Using the SYS(1104) function may improve performance.
Thanks Christof for taking time out of your vacation to stop in Detroit and give us a real treat! This was a terrific session! I can't wait to hear your session proposals for Southwest Fox 2008.
Labels: DAFUG, Garbage Collection, Southwest Fox, VFP