aboutsummaryrefslogtreecommitdiff
path: root/src/cache.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2008-12-31 02:33:43 +0000
committerMike Buland <eichlan@xagasoft.com>2008-12-31 02:33:43 +0000
commit3893cb63e034180eab0764ee18567a56e8307a80 (patch)
tree0792c6ba3348c3837de97cb016ec790680ad4a9b /src/cache.cpp
parentbbe8ee9de8bfbd490336d80e76148663dcbe027f (diff)
downloadlibbu++-3893cb63e034180eab0764ee18567a56e8307a80.tar.gz
libbu++-3893cb63e034180eab0764ee18567a56e8307a80.tar.bz2
libbu++-3893cb63e034180eab0764ee18567a56e8307a80.tar.xz
libbu++-3893cb63e034180eab0764ee18567a56e8307a80.zip
Wow, that was a freaky bug. Turned out to not have anything to do with the
size of the table, it had to do with using non pointer types for the key (some more complex types worked as well, probably because of lazy memory collection) and then using the [] indexing operators. You wound up with pointers to local variables that didn't exist by the end of the assignemnt operator. Strange, but I didn't actually use references inside of all of the Bu::Hash accessor functions, that means in cases where more complex variables are used as keys (like Bu::FString) it was making several copies of them per operation and destroying them all immediately. Now it will be even faster and use much less memory. Good catch, David.
Diffstat (limited to 'src/cache.cpp')
0 files changed, 0 insertions, 0 deletions