Subject: Re: data hygiene [Re: Why is Scheme not a Lisp?] From: Erik Naggum <erik@naggum.net> Date: Tue, 19 Mar 2002 23:59:56 GMT Newsgroups: comp.lang.lisp Message-ID: <3225571208798099@naggum.net> * Paul Dietz | *If* the running time of your algorithm is dominated by memory latency | rather than memory bandwidth the alist search could be up to twice as | fast, since its loads are more parallelizable. Are you kidding or something? | The longest sequence of dependent loads in the alist search has length | N+1, vs. 2N-1 for the plist. This is assuming you have a machine that | can have multiple loads 'in the air' at once. How the hell is caar+cdr any different from car+cddr? How do you normally set up alists and plists? Even after a copy-tree (or GC) that copies cons celle so they are allocated in the order they are visited, the distances are _exactly_ the same. Just work it out. | Put another way: you can arrange the loads in the alist search so that | there's a longer distance between the load and when the data is actually | used, which might reduce pipeline stalls. Please show me how this is done. I think you are aggressively clueless by now, but I am always open to refinement and even contradiction if you just do something smarter. /// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.