[Ecls-list] ECL's weak-hash tables
    Zajcev Evgeny 
    lg.zevlg at gmail.com
       
    Thu Apr  4 11:03:27 UTC 2013
    
    
  
Hello there! Thanks for the excelent software
I'm quite confused about weak hash tables in ECL.
I have simple test program:
.-----[~/tmp/whash.lsp
|  (defvar gg (make-hash-table :weakness :value))
|  
|  (loop repeat 100 do
|    (setf (gethash (gensym) gg)
|          (loop repeat 10 collect (random 100))))
|  
|  #+ecl (format t "Has weak hash: ~A~%" (not (null (member :ecl-weak-hash *features*))))
|  (format t "Before GC: ~A~%" (hash-table-count gg))
|  #+sbcl (sb-ext:gc :full t)
|  #+ecl (si:gc t)
|  (format t "After GC: ~A~%" (hash-table-count gg))
`-----
Its ouput from SBCL
.-----[$ sbcl --script ~/tmp/whash.lsp
|  Before GC: 100
|  After GC: 0
`-----
and from ECL
.-----[$ ecl -shell ~/tmp/whash.lsp
|  Has weak hash: T
|  Before GC: 100
|  After GC: 100
`-----
ECL's results looks a little awkward.  Does weak hash tables really
work in ECL?  Or do I misuse them in some manner?
thanks!
-- 
lg
    
    
More information about the ecl-devel
mailing list