This is the tenth progress report from the Wide Finder Project. What with Vegas and the Commies, I’m behind on a lot of things, including the Wide Finder. This is another entry just to note other people’s work, which I really absolutely will buckle down and run on the big iron and report back and shower praise on the good ones and derision on the big misses.

Command Line · Paddy3118 has Wide Finder on the command line, which is unsurprising but good to have on the record.

PHP · Russ Beattie’s WideFinder in PHP is valuable if only for the sake of completeness.

C++ · From #hircus (hey, I don’t pick these stupid blogger handles) comes Tim Bray’s Wide Finder: a minimalist implementation. His first cut runs slower than Ruby so I suspect something’s wrong.

Erlang · And of course, the redoubtable and indefatigable Steve Vinoski is back with One More Erlang Wide Finder; applying my amazing powers of deduction to his filenaming convention, this is his fourteenth attempt.

Caoyuan Deng is on a relatively-sane fifth attempt: Learning Coding Parallelization (Was Tim's Erlang Exercise - Round V).


Comment feed for ongoing:Comments feed

From: Steve Vinoski (Oct 15 2007, at 23:08)

Hi Tim, don't read too much into the number 14. :-)

I worked on the WF quite a bit right after you first blogged about it, and then didn't touch it for awhile, and then worked on it again last Saturday when I implemented the Boyer-Moore searching -- that was number 14. The versions before 5 were fairly serious, but the ones between 5 and 14 were just tiny little two-minute tweaks that I tried here and there as they crossed my mind, with none having any worthwhile impact.

All in all, though, it's been a great exercise! Now I must go and look up what "redoubtable" and "indefatigable" mean. ;-)


From: Ian Petersen (Oct 15 2007, at 23:42)

I just received the November issue of Linux Journal and the cover story is about a startup called RapidMind. Mike McCool is the Chief Scientist, or somesuch, so I think it's probably tightly tied to the University of Waterloo School of Computer Science.

Anyway, RapidMind has a software product that automagically turns linear-looking C++ code into parallel code that can take advantage of multiple cores and even programmable GPUs. I don't have the C++ chops to try the Wide Finder problem in C++ with RapidMind, but I thought I'd mention it in case someone here does.


From: Michel S. (Oct 16 2007, at 13:02)

Um, hircus == Latin for goat. Silly but not stupid*

The slow C++ score seems to be a byproduct of using C++ strings -- the program performs in about the same time with the regexp matching commented out. Will try on a workstation next to see if it improves, otherwise I'd have to do some optimizations there (like going back to C character arrays).

* Lengthy explanation available on request


From: Hynek (Pichi) Vychodil (Oct 21 2007, at 11:53)

Hi Tim, can you test this on your T2?


From: Hynek (Pichi) Vychodil (Oct 28 2007, at 12:06)

Hi Tim, I was made big improvement of Steve's code and some prallelization of reading and splitting. It is very fast now.


author · Dad
colophon · rights
picture of the day
October 15, 2007
· Technology (90 fragments)
· · Concurrency (75 more)

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.

I’m on Mastodon!