Every program is fast - without data and users 😉
That's why I really wanted to know how fast the new Callers Caddy is before it was released. And not just collect feedback when users are suffering.
So I tested my modest list of 518 songs for performance. And simply added another 10,000 pieces of music and 100 more clubs to the system.
| Measurement | 518 songs | 10,518 songs | Factor |
|---|---|---|---|
| Database queries | |||
| Load all songs | 0,002s | 0,035s | ×18 |
| Last-played map (LEFT JOIN) | 0,000s | 0,017s | ×42 |
| Songlist | |||
| Completely rebuild song list | 0,007s | 0,175s | ×25 |
| Clear search filter (show all) | 0,005s | 0,139s | ×26 |
| Search filter with text | 0,000s | 0,016s | ×71 |
| Playlist Manager | |||
| Open manager & fill playlist | 0,010s | 0,215s | ×22 |
| Playlist : Sort alphabetically | 0,007s | 0,213s | ×30 |
| Playlist : Sort quality | 0,007s | 0,215s | ×29 |
| Playlist : Sort Last played | 0,008s | 0,212s | ×28 |
| Playlist : Sorting recommendation | 0,008s | 0,210s | ×27 |
| Other | |||
| Program start | 0,340s | 0,340s | ×1 |
| Change skin | 0,146s | 0,363s | ×2 |
Reading example: With 10,518 songs, refilling the playlist table takes ~0.21 seconds - hardly noticeable for the user. The song list builds up in 0.18s. All values are average values from 10 runs.
The stress test showed me points where the performance was not so good at first. We were then able to work on them properly and improve the performance again.
But now I'm absolutely delighted with the result. Hopefully you are too.