On Tuesday, September 12, 2017 at 4:46:18 AM UTC+8, Alexis King wrote: > > > Furthermore, if this problem really is a lost cause, what are futures > actually useful for? The documentation would imply that they are useful > for lots of number crunching using machine integers or flonums, but > that’s a pretty specific domain. I would hope that they would be able > to work with simple list-based operations as well, since operations that > are truly exclusively numeric are relatively uncommon in my experience. >
This has been my experience as well : futures seem to block on pretty much any operation that is not a `fl+`, `fl-` or similar. I also noticed that accessing data stored in lists and vectors (even if these are not modified), seems to block the futures. This is even more frustrating, since even after you get parallel implementation working, a simple and seemingly harmless change to the code can silently break the parallelism. In my case, I just gave up on them and optimized the algorithms for "single thread" execution. So far, this has been fast enough in my use case. Best Regards, Alex. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.