syncronous I/Os are famous for increasing overhead and should generally be avoided if async I/Os can be used. in addition, using them for keeping count is nonsensical