A couple of detailed, somewhat random thoughts:
-- preliminary style guide: http://www.ccs.neu.edu/home/matthias/Style/style/ -- equip modules and functions with purpose statements -- consider using (module+ test ...) -- use define-inline, try the optimization coach -- you might wish to put the math library into typed racket I am sure others can suggest a few more detailed hints -- Matthias On Jan 31, 2013, at 7:30 AM, Piotr Klibert wrote: > I tried this a bit (this is why all the constants in bezier-math are > floats) but I didn't notice any improvement. May be that I was using > flonums inconsistently, I'll try once again. > Best regards, > Piotr Klibert > > > 2013/1/31 Jens Axel Søgaard <jensa...@soegaard.net>: >> 2013/1/31 Carl Eastlund <c...@ccs.neu.edu>: >>> Piotr, >>> >>> This isn't good Racket code, it's *gorgeous*. That was my impression at >>> first glance, and the more I look, the more I like it. Your Bezier library >>> absolutely does not read like the code of a novice Racketeer. Few enough >>> people regularly use a combination of objects, pattern matching, map, cut, >>> macros, contracts, named let, multiple values, submodules... let alone using >>> them all in readable and idiomatic fashion. >> >> I agree with this. Welcome to the club. >> >> I see that in the hunt for performance, you have used macros >> as a form of "manual inlining". It might be worth to experiment >> with fl+, fl* and friends, since they don't need to handle other >> number types, they might give you some extra performance. >> >> http://docs.racket-lang.org/reference/flonums.html >> >> -- >> Jens Axel Søgaard > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users