Once more - a new version with slightly improved performance:
33979 lines found
Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
24 ms for finding 1834866 lines containing [] using CRT strstr()
27 ms for finding 1834866 lines containing [] using Instr_(fast, ...)
23 ms for finding 1834866 lines containing [] using PellesC strstr
0 ms for finding 0 lines containing [] using Masm32 InString
266 ms for finding 1834866 lines containing [] using MB Instr_()
30 ms for finding 1834866 lines containing [] using InstrW()
149 ms for finding 267624 lines containing [J] using CRT strstr()
60 ms for finding 267624 lines containing [J] using Instr_(fast, ...)
150 ms for finding 267624 lines containing [J] using PellesC strstr
276 ms for finding 267624 lines containing [J] using Masm32 InString
245 ms for finding 267624 lines containing [J] using MB Instr_()
241 ms for finding 267624 lines containing [J] using InstrW()
258 ms for finding 151848 lines containing [Je] using CRT strstr()
64 ms for finding 151848 lines containing [Je] using Instr_(fast, ...)
159 ms for finding 151848 lines containing [Je] using PellesC strstr
285 ms for finding 151848 lines containing [Je] using Masm32 InString
218 ms for finding 151848 lines containing [Je] using MB Instr_()
82 ms for finding 151848 lines containing [Je] using InstrW()
267 ms for finding 59886 lines containing [Jer] using CRT strstr()
66 ms for finding 59886 lines containing [Jer] using Instr_(fast, ...)
164 ms for finding 59886 lines containing [Jer] using PellesC strstr
289 ms for finding 59886 lines containing [Jer] using Masm32 InString
221 ms for finding 59886 lines containing [Jer] using MB Instr_()
84 ms for finding 59886 lines containing [Jer] using InstrW()
274 ms for finding 3942 lines containing [Jeri] using CRT strstr()
67 ms for finding 3942 lines containing [Jeri] using Instr_(fast, ...)
170 ms for finding 3942 lines containing [Jeri] using PellesC strstr
295 ms for finding 3942 lines containing [Jeri] using Masm32 InString
229 ms for finding 3942 lines containing [Jeri] using MB Instr_()
84 ms for finding 3942 lines containing [Jeri] using InstrW()
272 ms for finding 3186 lines containing [Jeric] using CRT strstr()
72 ms for finding 3186 lines containing [Jeric] using Instr_(fast, ...)
172 ms for finding 3186 lines containing [Jeric] using PellesC strstr
292 ms for finding 3186 lines containing [Jeric] using Masm32 InString
227 ms for finding 3186 lines containing [Jeric] using MB Instr_()
85 ms for finding 3186 lines containing [Jeric] using InstrW()
356 ms for Instr_(Fast, ...), fast : normal=0.587
606 ms total for InsW
1244 ms for CRT strstr, crt : fast=3.49
IMHO it can't get much faster, but of course, the Boyer-Moore brigade has not yet shown up ;)
P.S.: If you extract it to the folder where the bible.txt sits, it won't download it again.