[Haskell-beginners] please critique my first stab at systems programming
Felipe Almeida Lessa
felipe.lessa at gmail.com
Thu Apr 14 14:30:59 CEST 2011
On Thu, Apr 14, 2011 at 8:50 AM, Daniel Fischer
<daniel.is.fischer at googlemail.com> wrote:
> $ cabal install stringsearch
> -- faster searches for a pattern than provided by bytestring
>
> import qualified Data.ByteString.Char8 as BC
> import qualified Data.ByteString.Lazy as L
> import qualified Data.ByteString.Lazy.Search as L
>
> blockSize = 512
>
> main = do
> stuff <- L.readFile "blocks"
> case L.indices (BC.pack "PART") stuff of
> [] -> putStrLn "Not Found."
> (i:_) -> putStrLn $ "Found at " ++ show (i `quot` blockSize) ++ "."
> putStrLn "Done."
This solves a different problem. The original looked for PART only on
the beginning of each block, while your solution will find everything
that has PART in it. Because this is I/O bound, probably the real
time taken won't be very different, but the program will surely use
more CPU time and report more false positives.
Cheers,
--
Felipe.
More information about the Beginners
mailing list