2012-09-08, 14:33
Since last posts about performances with thumbs from me and Millencolin007 where avoided based on the fact we where only talking about RPI that is slow by nature.
I've made more tests on my main XBMC machine : a dual core E8500 with 4GB ram running Windows 7 x86 on SSD. So not really a RPI and a slow machine.
The XBMC database contains :
- 3430 Albums
- 2920 Artists
- 18714 Songs
So a big but not too much database to have correct results, XBMC is in portable mode and of course database and thumbs cache are on the SSD.
The testing protocol :
I use Yatse on Galaxy S 3 as a viable and real use case test.
Yatse does batch queries of 500 items to get the data from XBMC for Albums and Songs but not Artists due to a now corrected bug in XXBMC mc but this permit to test if the limits in the query are in cause or not.
Of course Yatse does a little processing on it's side to insert in it's local database but the actions are the same with or without thumbs so the timings are meaningful even if not only the request time.
And now the results that talk by themselves :
The first query is shown and is repeated until end just by changing start and end.
1) without querying thumbs
Leading to timing :
Albums : 3.5 sec
Artists : 1.5 sec
Songs : 23.4 sec
2) with thumb field
Leading to timing :
Albums : 8.4 sec
Artists : 12 sec
Songs : 1m36 sec (96 sec)
I think the numbers are pretty clear that there is a problem somewhere I'll try to check Xbmc code and compile but well I'm no C expert at all and Xbmc code base is quite complicated
I've made more tests on my main XBMC machine : a dual core E8500 with 4GB ram running Windows 7 x86 on SSD. So not really a RPI and a slow machine.
The XBMC database contains :
- 3430 Albums
- 2920 Artists
- 18714 Songs
So a big but not too much database to have correct results, XBMC is in portable mode and of course database and thumbs cache are on the SSD.
The testing protocol :
I use Yatse on Galaxy S 3 as a viable and real use case test.
Yatse does batch queries of 500 items to get the data from XBMC for Albums and Songs but not Artists due to a now corrected bug in XXBMC mc but this permit to test if the limits in the query are in cause or not.
Of course Yatse does a little processing on it's side to insert in it's local database but the actions are the same with or without thumbs so the timings are meaningful even if not only the request time.
And now the results that talk by themselves :
The first query is shown and is repeated until end just by changing start and end.
1) without querying thumbs
Quote:2012-09-08 14:00:05.888 Warning/YatseLogger: Logger.Warning@177: Start parsing AudioAlbums (3430)
2012-09-08 14:00:05.934 Verbose/JsonRpc: JsonRpc.JsonRpcCallStream@152: Request : {"id":1,"jsonrpc":"2.0","method":"AudioLibrary.GetAlbums","params":{"limits":{"start":0,"end":500},"properties":["style","albumlabel","artistid","type","description","genre","title","artist","rating","year"]}}
2012-09-08 14:00:09.422 Warning/YatseLogger: Logger.Warning@177: End parsing AudioAlbums
Quote:2012-09-08 14:00:21.100 Warning/YatseLogger: Logger.Warning@177: Start parsing AudioSongs (18714)
2012-09-08 14:00:21.234 Verbose/JsonRpc: JsonRpc.JsonRpcCallStream@152: Request : {"id":1,"jsonrpc":"2.0","method":"AudioLibrary.GetSongs","params":{"limits":{"start":0,"end":500},"properties":["track","albumid","artistid","artist","duration","album","genre","title","year"]}}
2012-09-08 14:00:44.662 Warning/YatseLogger: Logger.Warning@177: End parsing AudioSongs
Quote:2012-09-08 14:04:00.800 Warning/YatseLogger: Logger.Warning@177: Start parsing AudioArtists (2920)
2012-09-08 14:04:00.824 Verbose/JsonRpc: JsonRpc.JsonRpcCallStream@152: Request : {"id":1,"jsonrpc":"2.0","method":"AudioLibrary.GetArtists","params":{"limits":{"start":0,"end":0},"properties":["style","description","born","yearsactive","died","genre"]}}
2012-09-08 14:04:02.305 Warning/YatseLogger: Logger.Warning@177: End parsing AudioArtists
Leading to timing :
Albums : 3.5 sec
Artists : 1.5 sec
Songs : 23.4 sec
2) with thumb field
Quote:2012-09-08 14:09:51.726 Warning/YatseLogger: Logger.Warning@177: Start parsing AudioAlbums
2012-09-08 14:09:51.769 Verbose/JsonRpc: JsonRpc.JsonRpcCallStream@152: Request : {"id":1,"jsonrpc":"2.0","method":"AudioLibrary.GetAlbums","params":{"limits":{"start":0,"end":500},"properties":["style","albumlabel","artistid","type","description","thumbnail","genre","title","artist","rating","year"]}}
2012-09-08 14:10:10.125 Warning/YatseLogger: Logger.Warning@177: End parsing AudioAlbums
Quote:2012-09-08 14:10:10.128 Warning/YatseLogger: Logger.Warning@177: Start parsing AudioArtists
2012-09-08 14:10:10.185 Verbose/JsonRpc: JsonRpc.JsonRpcCallStream@152: Request : {"id":1,"jsonrpc":"2.0","method":"AudioLibrary.GetArtists","params":{"limits":{"start":0,"end":0},"properties":["style","description","born","yearsactive","died","thumbnail","genre"]}}
2012-09-08 14:10:22.062 Warning/YatseLogger: Logger.Warning@177: End parsing AudioArtists
Quote:2012-09-08 14:10:22.330 Warning/YatseLogger: Logger.Warning@177: Start parsing AudioSongs
2012-09-08 14:10:22.484 Verbose/JsonRpc: JsonRpc.JsonRpcCallStream@152: Request : {"id":1,"jsonrpc":"2.0","method":"AudioLibrary.GetSongs","params":{"limits":{"start":0,"end":500},"properties":["track","albumid","artistid","artist","duration","album","thumbnail","genre","title","year"]}}
2012-09-08 14:11:58.222 Warning/YatseLogger: Logger.Warning@177: End parsing AudioSongs
Leading to timing :
Albums : 8.4 sec
Artists : 12 sec
Songs : 1m36 sec (96 sec)
I think the numbers are pretty clear that there is a problem somewhere I'll try to check Xbmc code and compile but well I'm no C expert at all and Xbmc code base is quite complicated