On actually examining my code it looks like i dig .. wait an adjustable amount of time like described above and then journal check .. then depending on what found adjust timer dig again etc.. if no journal results where available it just digs again. (if x digs in a row no journal results it takes other actions). The entire process is far far less than 750ms... although I would have to run it and add some vars to see exactly what it is running at...
(Been a number of years since i ran the miner)