GETF Speedup?
"David McClain (as dbm at refined-audiometrics dot com)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
I have some ancient code with some notes that indicate a speed tradeoff between property lists and hash tables that bends in favor of property lists for lists of entries numbering 100 and fewer. But beyond that, hash tables win out. I just tried it again, on a M1 iMac, 64-bit Lispworks 8.1.1, and find that there is no longer any comparison at all. The property lists win by a huge margin, causing zero allocations, zero page faults, and no GC. The hash tables have modest allocations, no page faults, and no GC. The test was for a list of properties numbering, NEL, with random keys chosen from the range [0, 5*NEL]. So likelihood of a hit is ≈20%. Queries were 1 Million random keys in the range [0,5*NEL]. GETF was scoring 3 ms on lists with NEL ranging up to 1000. GETHASH was scoring 20 ms or so. I am delighted that GETF is so efficient now. It really needs to be, given functions with keyword argument lists. _______________________________________________ Lisp Hug - the mailing list for LispWorks users [email protected] http://www.lispworks.com/support/lisp-hug.html