Talk:Anagrams

From HaskellWiki
Revision as of 00:29, 10 June 2006 by Ptolomy (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This is something I threw together in my spare time at work to play with Data.ByteString. I'm sure there are things that could be done better; please improve as you wish and leave notes and reasoning on this page. Thanks!


Ideas:

  • B.group is apparently quite slow. Perhaps it would be faster to do something like:
[CharCount n (B.count n s) | n <- ['A'..'Z'], s <- strings]
-- or
[B.foldl' (\cl c -> updateAssocListSomehow c) s [] | s <- strings]


  • The [CharCount] representation may not be the most efficient. A 27 integer UArray could be faster. Then again, I haven't profiled the code and wasn't aiming for raw speed, so.. *shrug*

I tried Data.IntMap on a lark, and while it doesn't complicate the code much, it was a slight slow-down. Might be because I tested for subset then did a difference... not sure how to do it in one step.