[Openmcl-devel] Strange pause printing an already-created huge hash table.

Gary Byers gb at clozure.com
Wed Dec 21 21:04:52 UTC 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