The documentation of partitions has not yet been updated, as far as I can see in version 6.0.1.13--2014-07-08(7735dd0/a) [3m]. I don't want to hurry up things (there may be other priorities) but when the docs will be updated, I think they should include a warning against calling function partitions from two concurrently running futures or threads. Reason is the non atomic memoization. (let alone calling set-partitions-cache in one process while another one is consulting/updating the cache)
Calling partitions from two concurrent futures gives me a segfault. Not a surprise. Up to now calling from two concurrent threads gives me correct results, but slows down vvveeerrryyy much. I assume concurrent threads can lead to the same problems as concurrent futures, though. If I understand places correctly, calling from concurrent places should go well. Do I understand correctly? Jos > -----Original Message----- > From: Vincent St-Amour [mailto:stamo...@ccs.neu.edu] > Sent: domingo, 29 de junio de 2014 22:52 > To: Eric Dobson > Cc: Jos Koot; Matthew Flatt; Jens Axel Søgaard; Racket Users List > Subject: Re: [racket] FW: q about code for partitions > > Ah, that explains it. Thanks! > > Vincent > > > At Sun, 29 Jun 2014 12:32:48 -0700, > Eric Dobson wrote: > > > > Vincent: exact-zero? is defined through 'make-predicate' which uses > > contract machinery to generate the function. I filed a > couple of bugs > > tracking some of the slowness issues. There is no `contract` form > > though so I doubt that the coach will find it. > > > > > http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&data base=default&pr=14610 > > > http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&data base=default&pr=14611 > > > > On Sun, Jun 29, 2014 at 11:53 AM, Jos Koot > <jos.k...@gmail.com> wrote: > > > Great work, Jens. I am glad my approach as been adopted > (and much improved > > > without deviating from the original idea of simpler > recurrence). When can we > > > expect it in the next nightly build? > > > > > > Thanks, Jos > > > > > >> -----Original Message----- > > >> From: jensaxelsoega...@gmail.com > > >> [mailto:jensaxelsoega...@gmail.com] On Behalf Of Jens > Axel Søgaard > > >> Sent: domingo, 29 de junio de 2014 12:48 > > >> To: Matthew Flatt > > >> Cc: Jos Koot; Racket Users List > > >> Subject: Re: [racket] FW: q about code for partitions > > >> > > >> I have made a new vector version using zero? instead of > exact-zero?. > > >> > > >> To give users a chance to remove the cache after doing > > >> partitions calculations, > > >> I have added set-partitions-cache. > > >> > > >> Code: > > >> > > >> https://github.com/soegaard/racket/blob/patch-14/pkgs/math-pkg > > > s/math-lib/math/private/number-theory/partitions.rkt > > >> > > >> Discussion: > > >> https://github.com/plt/racket/pull/697 > > >> > > >> /Jens Axel > > >> > > >> > > >> 2014-06-29 12:44 GMT+02:00 Jens Axel Søgaard > <jensa...@soegaard.net>: > > >> > 2014-06-29 8:47 GMT+02:00 Matthew Flatt <mfl...@cs.utah.edu>: > > >> >> It looks like "partitions2.rkt" ends up calling a > contract-wrapped > > >> >> variant of `exact-zero?`. > > >> > > > >> > That explains why Eric saw an improvement, when the used #f > > >> instead of > > >> > 0 as the not-cached-yet value. > > >> > > > >> > /Jens Axel > > >> > > >> > > >> > > >> -- > > >> -- > > >> Jens Axel Søgaard > > > > > > > > > ____________________ > > > Racket Users list: > > > http://lists.racket-lang.org/users > > > > ____________________ > > Racket Users list: > > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users