In a previously written Windows cooperative-thread app, I added the line
thread1.type = thread.types.preemptive
before
thread1.start
with no other changes.
In my test situation, the app runs without user intervention on a dedicated computer, but does report progress to the screen.
Execution time on a standard dataset increased from 50 seconds for cooperative to 3 minutes 9 seconds for preemptive. Ouch!
The problem is that thread1.adduserinterfaceupdate has become much more time-consuming. In this app, it is used to report progress to the screen. Commenting out these calls, and the time reduced to a mere 5 seconds for cooperative and an even smaller 4 seconds for preemptive.
Does your experience differ?
9 posts - 6 participants