[Openmcl-devel] Strange pause printing an already-created huge hash table.
Gary Byers
gb at clozure.com
Wed Dec 21 13:04:52 PST 2011
For absolutely no good reason, HASH-TABLE-COUNT on a lock-free
hash-table is computed by walking the table rather than just
maintaining a counter that's incremented (carefully ...) when
something's added and decremented (carefully ...) when something's
removed. I think that we have an open ticket on this, and hopefully
this will shame someone into fixing that.
You now have a good idea of about how long it takes for Windows to
fault in about 6GB of virtual memory. Printing the hash table again
(or just calling HASH-TABLE-COUNT on it) would give you a sense of
how much of it stayed resident.
On Wed, 21 Dec 2011, Kalman Reti wrote:
> This is in ccl 1.7-r14925M under windows-7 64bit; I created a hash table using
>
> (make-hash-table :test'equalp :size 350000000)
>
> and it printed
>
> #<HASH-TABLE
>
> and paused for a LONG time, i.e. many tens of seconds, before printing
> out the rest.
>
> :TEST EQUALP size 0/350000000 #x210057821D>
>
> (*print-array* and *print-structure* were both NIL, in case that
> matters). This hash
> table was the value of a variable, and just printing out the variable
> again exhibited the
> ame behavior.
>
> Is this normal?
>
> I'm trying to decide if the pause is something wrong with CCL or
> something wrong with
> my system...
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>
More information about the Openmcl-devel
mailing list