[racket-dev] racket/match is broken

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Oct 6 18:32:00 EDT 2011

On Thursday, October 6, 2011, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> In Le Fessant and Maranget, ICFP 2001, they have measurements that
> show a 30% speedup of whole (toy) programs, with a similar but smaller
> suite of optimizations.

Does match reproduce that speedup?

> Given the extensibility of `match', the performance difference can be
> made arbitrarily large.  For example, Eli's example doesn't call the
> `one??' function, which could take arbitrarily long (imagine a
> database query).

Match's reordering of the predicates can also slow it down arbitrarily with
reasoning like that (imaging a predicate that is very fast at saying "no" on
one element if a list and very slow to say "no" to a different element and
that predicate is used twice in the same list pattern).

I don't see how that helps us understand the value of reordering the
patterns.

Robby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20111006/f1cd7cb0/attachment.html>

Posted on the dev mailing list.