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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.