On Feb 9, 2014, at 11:12 AM, .alyn.post. <alyn.p...@lodockikumazvati.org> wrote:
> On Sun, Feb 09, 2014 at 03:29:09PM +0100, mfv wrote: >> Hi, >> >> I've been fooling around a bit with chicken, and now I am on towards a small >> project. I have a question regarding the performance of list and >> hash-tables. >> >> I plan to use nested hash tables as a data structure e.g. >> >> hash-table1 >> | >> key1 >> | >> hash-table2 >> | >> key2 >> | >> list/string/some data >> >> Are there objections to such a nested hash table structure e.g. should one >> keep it as flat as possible and use multiple hash-table is parallel in >> order to maximize performance? >> > > In non-scheme languages, I use this technique a lot. It's a poor > man's struct, and when you don't exactly know what problem you're > solving yet, that's precisely the data structure you need. > > If you're worried about multiple hash table lookups, you can create > a composite key: pick a character/object that won't appear in key1..n, > and use it as a separator, joining and splitting your key to convert > it to/from it's composite. I've rarely used this technique, compared > to the above above nested hash tables, so I suspect that nested > hashing will be adequate to solving the problem you have in mind. Any Scheme object can be hashed w/ the SRFI 69 "equal?-hash" function. So a composite key represented as a pair/list, vector, or record is feasible. > > I don't believe there is anything fundamentally wrong with your > approach. > > -a > -- > my personal website: http://c0redump.org/ > > _______________________________________________ > Chicken-users mailing list > Chicken-users@nongnu.org > https://lists.nongnu.org/mailman/listinfo/chicken-users _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users