[rucksack-devel] Re: Fwd: State of the nation and heap patch

Cyrus Harmon ch-rucksack at bobobeach.com
Tue Feb 12 21:09:15 UTC 2008


What do class indexes buy us? We can locate an instance (given an  
identifier of some sort I presume) quickly with or without an index,  
right? The indices allow us to do rucksack-map-instances, but it's not  
clear to me why this needs to be an index per se. A hash-table or  
other (unordered) could do the trick just as well, although the  
mapping would then no longer be in order.

It would be nice if the index functionality were exposed through  
functions and methods allowing for adding/removing indices, rather  
than by modifying the class definition (the use case I'm thinking is  
allowing user operations for bulk loads that would remove the indices  
and then add them back).

Why wouldn't it be possible to add class indices after the fact?

Thanks,

Cyrus




On Feb 12, 2008, at 12:34 PM, Arthur Lemmens wrote:

> Cyrus Harmon wrote:
>
>> Yes, turning off the indices does seem to be helping the load time.
>> Based on current progress, I'd guess that this will bring the load
>> time down into the 30 min. range instead of the two hour range.
>>
>> Is there a way to add the indices back once the data is loaded?
>
> Not for class indices (and maybe that's not even possible at all,
> in the general case).
>
> But you can add a slot index to a slot (of a class that has a class
> index) by adding something like
>
>   :index :string-index
>
> to the slot definition and re-evaluating the entire class definition
> I usually just compile and load the file that contains the class
> definitions.
>
> See also the files test-index-1a.lisp and test-index-1b.lisp in
> the test directory.
>
> Arthur
>




More information about the rucksack-devel mailing list