although this thread has been marked solved, but I want to tell some of my ideas, hope it can be help to u.
We can suppose a pane which is as long as the pattern.
first, the pointer of the pane and the file are the same, so we can use the "strcmp" function to mesure them, then the pointer of pane slow move(is the pointer++).
In this way, we can get the times now!
Am I right?