Cool, thank you. On Tue, Nov 16, 2021 at 2:15 PM Sage Gerard <[email protected]> wrote:
> I get these timings on x86_64 GNU/Linux using the following profile > program. > > ; A: cpu time: 7444 real time: 7445 gc time: > 716 > ; B: cpu time: 9227 real time: 9228 gc time: 884 > > (module profile racket/base > (define target-length #e5e4) > > (define (A current-list new-element) > (append current-list (list new-element))) > > (define (B current-list new-element) > (reverse (cons new-element (reverse current-list)))) > > (define (profile function) > (printf "~a: " (object-name function)) > (time > (void (for/fold ([l null]) > ([n (in-range target-length)]) > (function l n))))) > > (profile A) > (profile B)) > > On 11/16/21 2:04 PM, David Storrs wrote: > > If I want to add an element to the end of an immutable list, is it better > to do: > > (append current-list (list new-element)) > or > (reverse (cons new-element (reverse current-list))) > or > something else? > > I would imagine it's the first one because that should be a single > traversal and link add instead of two traversals and rebuilds, but maybe > I'm wrong. > -- > 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]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/CAE8gKocM4jNCg6xKruYwuwFtuOdbOSwugYcgUND1ZD%3DRB1iA0g%40mail.gmail.com > <https://groups.google.com/d/msgid/racket-users/CAE8gKocM4jNCg6xKruYwuwFtuOdbOSwugYcgUND1ZD%3DRB1iA0g%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- > 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]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/3a9777e7-4b33-b561-f47e-8fe940699b39%40sagegerard.com > <https://groups.google.com/d/msgid/racket-users/3a9777e7-4b33-b561-f47e-8fe940699b39%40sagegerard.com?utm_medium=email&utm_source=footer> > . > -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAE8gKocmkK%2B4mwEZEvib-E63g9uYfzMh_p2HLz_07pSWkJ%2BY3A%40mail.gmail.com.

