> You claim you want filtering to be as fast as possible. If that were > so, you would not pack multiple keys (or features thereof) into a > bignum but rather would store the keys individually. chasing pointers? no, you're thinking about doing some sort of byte-append and subbytes type of thing. only way that data in a hash would be small in memory and reasonably quick. care to elaborate?
> The 16-byte keys are 1/3 the size of even the _smallest_ bignum, and where are you getting this? i've been digging all over the documentation and can't find a fn thing on how much space is required for any data type or it's overhead. what i do is open up htop and check memory then load drracket, a huge bignum and recheck. close drracket, check memory, restart drracket, load a huge vector and it's associated bignums and recheck. so 2 questions for you all 1)where is this info about data type memory requirements? 2)what is a better way of checking actual memory sucked up by my data structures? > comparing two small byte strings is faster than anything you can do > with the bignum. With the right data structure can put a lot more > keys into the same space you're using now and use them faster. you knew this was coming, right? put this into your data structure of choice: 16 5 1 12 6 24 17 9 2 22 4 10 13 18 19 20 0 23 7 21 15 11 8 3 14 this is a particular 5x5 tile puzzle (#6 in www.aaai.org/Papers/AAAI/1996/AAAI96-178.pdf) with the blank in a position where 4 children can be made. make a child while extracting the value of the tile being swapped with the blank. compare child to parent for equality. repeat that for the other 3 children. time testing that won't matter because we have different hardware. if you (any of you) think you have something that will best what i'm doing (bignums), bring it on. show me something cool and fast. let me check out your approach. i experimented a bit with the byte strings yesterday. what i'm doing with the bignums can't be done with byte strings. i'd have to rewrite just about everything i've got. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.