← Back to team overview

openlp-core team mailing list archive

[Bug 1068613] Re: caching sqlalchemy queries

 

The current bottleneck is getting all songs from sqlite database. I did
some performance testing with method

./openlp/plugins/songs/lib/mediaitem.py: SongMediaItem.searchEntire()

To get all songs at startup took around 0.7s.  After editing a song to
reload the song list took again around 0.7s.

I think this is the place where caching could improve performance -
speed up refetching of song list.

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1068613

Title:
  caching sqlalchemy queries

Status in OpenLP - Worship Presentation Software:
  New

Bug description:
  Sqlite nor sqlalchemy does not provide any mechanism for caching data.
  Everytime all sql queries are processed even when the same queries are
  done several times.

  We could improve the openlp performance in retrieving data from sqlite
  database files with some caching mechanism.

  Sqlalchemy provides some examples how to do that with Beaker
  (http://pypi.python.org/pypi/Beaker/):

  http://docs.sqlalchemy.org/en/rel_0_7/orm/examples.html#beaker-caching

  Beaker is a pure-python library. It allows caching on filesystem and
  even in memory only.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1068613/+subscriptions


References