#4081 NORM Never A: previews make datastore queries too slow

Zarro Boogs per Child bugtracker at laptop.org
Sun Oct 7 13:38:36 EDT 2007


#4081: previews make datastore queries too slow
-----------------------+----------------------------------------------------
 Reporter:  tomeu      |       Owner:  bcsaller      
     Type:  defect     |      Status:  new           
 Priority:  normal     |   Milestone:  Never Assigned
Component:  datastore  |     Version:                
 Keywords:             |    Verified:  0             
-----------------------+----------------------------------------------------
 After the latest fixes regarding the storage of previews in the datastore,
 performance has improved greatly but is still insufficient.

 As can be seen in the attached kcachegrind profile, retrieving each
 returned entry's data represents 33% of the total execution time.

 If no previews are stored we get barely acceptable speed, and that
 operation is almost negligible.

 Retrieving the data part of a xapian document is so slow because we have
 bundled together all metadata, including the preview. This could be
 avoided in queries because in most cases, queries don't request the
 preview to be returned.

 I can see two ways of solving this:

 - store all properties inside xapian like we do now, but non-binary
 properties as document values and only the preview as document data,

 - store the previews externally, similar to what we do for the actual file
 data. We could have an 'external' data type defined in model.py that, when
 the DS receives that property data through dbus, writes it to disk and
 saves the file path as a property in xapian.

 I think we should do it for FRS if we want previews in the journal with
 acceptable performance.

-- 
Ticket URL: <https://dev.laptop.org/ticket/4081>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list