guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add-native-hashtable-helper-functions


From: Nala Ginrut
Subject: Re: [PATCH] Add-native-hashtable-helper-functions
Date: Wed, 27 Mar 2013 08:47:19 +0800


在 2013-3-27 AM5:59,"Ludovic Courtès" <address@hidden>写道:
>
> Nala Ginrut <address@hidden> skribis:
>
> > * hash-items: get the amount of items in the hash table
>
> There’s already ‘hash-count’, recently added.
>

If I need to check the amount of items
each time in the loop, hash-count will do redundant visit for all items. But hash-items is efficient.

> > +SCM_DEFINE (scm_hash_size, "hash-size", 1, 0, 0,
> > +            (SCM table),
> > +            "Get the size of this hash table.")
> > +#define FUNC_NAME s_scm_hash_size
> > +{
> > +  SCM_VALIDATE_HASHTABLE (1, table);
> > +  return scm_from_uint (SCM_SIMPLE_VECTOR_LENGTH (SCM_HASHTABLE_VECTOR (table)));
>
> That returns the number of buckets, which is an internal detail, and
> probably not a useful one.
>

Yes, maybe, but I think we'd better provide it since we can see the size in the REPL, people may want to get this info in program for some statistic.

> > +(define (hash-keys table)
> > +  "Return all the keys from hash table."
> > +  (hash-map->list (lambda (x y) x) table))
>
> That doesn’t seem sufficiently common to warrant a new procedure.  WDYT?
>

I add it because I do need it when I wrote artanis, but Racket provides it.
So I think it's useful.

> Thanks,
> Ludo’.
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]