Opened 10 years ago

Closed 10 years ago

#1843 closed enhancement (fixed)

Use snapshot manager to load annotations on list pages

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 3.4
Component: web Version:
Keywords: Cc:

Description

For performance reasons when the number of rows to display is large and lots of annotations has been selected.

Change History (6)

comment:1 by Nicklas Nordborg, 10 years ago

I have made some performance tests. I have used the samples list page to list 999 samples. There are 12 annotation columns. Most samples have values for at least 9 annotations. I made five reloads of the list page. Time in milliseconds:

  • Loading from database: 11820, 9155, 9330, 9310, 8977
  • Using snapshot manager: 16887, 2850, 2635, 2665, 2575

So, once the annotations have been cached there is a considerable increase in performance.

comment:2 by Nicklas Nordborg, 10 years ago

(In [6539]) References #1843: Use snapshot manager to load annotations on list pages

Updated the snapshots so that units are also saved in them.

The samples list page has been updated to use the snapshots. The AnnotationLoaderUtil was created to make it easy to use the snapshots in a list context.

comment:3 by Nicklas Nordborg, 10 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:4 by Nicklas Nordborg, 10 years ago

(In [6541]) References #1843: Use snapshot manager to load annotations on list pages

Fixed on all list pages with annotations. The table exporter plugin still use database access only but should also be able to use the snapshot functionality.

comment:5 by Nicklas Nordborg, 10 years ago

(In [6567]) References #1843: Use snapshot manager to load annotations on list pages

Updated the table exporter to also use the snapshot manager. Initial export time with no cached snapshot for 23753 samples was little over 5 minutes. With snapshots in place the export time dropped to less than a minute.

comment:6 by Nicklas Nordborg, 10 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.