I agree with that 100%. On Sat, Feb 2, 2019, 9:46 AM Robby Findler <[email protected] wrote:
> Oh, right! Mentioning python in the list docs seems like it might help. > > Robby > > On Sat, Feb 2, 2019 at 8:45 AM Sam Tobin-Hochstadt <[email protected]> > wrote: > >> Fortunately there are already libraries with good performance on these >> operations for Racket, so we could point to the data/ralist library, >> for example. >> >> Sam >> >> On Sat, Feb 2, 2019 at 9:38 AM Robby Findler >> <[email protected]> wrote: >> > >> > Lists seem like a common pitfall here, due to the overlap in >> terminology but not functionality/performance. Maybe the right thing is to >> add a library to data/<something> that is the python list data structure >> and point to it from the list documentation? >> > >> > Robby >> > >> > On Sat, Feb 2, 2019 at 12:28 AM Alex Harsanyi <[email protected]> >> wrote: >> >> >> >> Someone asked recently for help on Reddit[1] with a Racket performance >> issue. >> >> The problem was they they were constructing a large list by appending >> many >> >> short lists repeatedly; their code was calling `(set! result (append >> result >> >> shortList))` in a loop and this was slow (unsurprisingly.) >> >> >> >> While trying to help them out, it occurred to me that this person was >> perhaps >> >> translating a program from Python to Racket, maybe to evaluate >> Racket. The >> >> problem is that list-append operations are efficient in Python, but the >> >> natural corresponding choice in Racket, the `append` function, is >> not. I >> >> wonder how many people are in a similar situation, where they try to >> convert a >> >> Python program to Racket, see that the performance is bad, and >> conclude that >> >> Racket is slow -- Every time Racket is mentioned on Reddit or HN there >> is at >> >> least one person mentioning that Racket is slow and sadly they may >> even have >> >> their own data to prove it. >> >> >> >> Given the recent discussion in this group about promoting Racket, I am >> >> wondering what can we do to help this category of people? These might >> be >> >> persons who never ask for help in any forum, after all the Racket >> >> documentation is good enough to help anyone who is willing to read it. >> >> >> >> One improvement that I can think of is to add a performance >> description to >> >> each function that operates on the basic data structures (lists, >> vectors, >> >> hash-tables) >> >> >> >> What do others think? >> >> Alex. >> >> >> >> [1]: >> https://www.reddit.com/r/Racket/comments/am5r2w/how_to_read_a_file_linebyline_efficiently/ >> >> >> >> -- >> >> 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 [email protected]. >> >> For more options, visit https://groups.google.com/d/optout. >> > >> > -- >> > 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 [email protected]. >> > For more options, visit https://groups.google.com/d/optout. >> >> -- >> 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 [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

