simplefilewatcher icon indicating copy to clipboard operation
simplefilewatcher copied to clipboard

Demo application eats 13% CPU without doing anything...

Open tapika opened this issue 7 years ago • 3 comments

Current API uses polling mechanism to poll updates, which eats CPU quite heavily.

Of course if you have 1 second polling mechanism like https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus/wiki does, then CPU usage cannot be seen, as it does not consume so much CPU as in SimpleDemo, but it consumes CPU still.

Would it be difficult to recode API to use threads instead ?

Also in newest c++ standards I've noticed that new class std::filesystem appeared, which deals with file system path/folders creation / directory / files enumeration - I think it's perfect from standardization perspective. Would like to see file watcher also standardized. Does makes any sense to switch api to lower case and move into std namespace, so it would be easier to integrate later on under the same umbrella ? :-)

tapika avatar Dec 02 '18 10:12 tapika

The SimpleDemo usa a lot of cpu because of the while loop, profiling the performance the cpu time is irrelevant: image

morgoth990 avatar Apr 22 '19 09:04 morgoth990

yes, but cpu usage can be minimized by adding additional sleep(50 ms) in that for loop, then it won't eat CPU so much.

tapika avatar Apr 22 '19 09:04 tapika

yea i agree, you dont need to watch the file as fast as possible, you can limit it to cpu usage. This is what should be done

lucdewit2001 avatar Feb 06 '21 13:02 lucdewit2001