# Procedure

1. Start banshee
2. Prepare device
3. Plug in device (automount disabled in nautilus), wait for loading to complete
4. Transfer playlist
5. Unmap source using "Disconnect" widget in source display
6. Disconnect device physically
7. Repeat from 2

# Conditions

- Banshee  = Ran without attaching the debugger, but built in Debug profile.
             With 3 lines commented out in the uncaching state. (See patch for
             GetAlbumFolder() early exit using the cached Folder)

- Playlist = 100 Tracks ~ 891 MB. 10 Albums, 10 Tracks per Album. All tracks
             have "Various Artists" for their DisplayAlbumArtistName property.
             This should give us a 90% hit rate on the cache.

# Data

-- Without Caching

[32 Debug 14:33:16.359] Finished - Adding 100 of 100 to GT-I9100
[32 Info  14:33:17.196] PrimarySource.AddTrackList (): Duration = 00:02:48.0183850
168

[32 Debug 14:37:49.538] Finished - Adding 100 of 100 to GT-I9100
[32 Info  14:37:50.579] PrimarySource.AddTrackList (): Duration = 00:02:48.2337610
168

[32 Debug 14:46:05.319] Finished - Adding 100 of 100 to GT-I9100
[32 Info  14:46:06.291] PrimarySource.AddTrackList (): Duration = 00:03:11.6465410
191

[15 Debug 16:29:54.971] Finished - Adding 100 of 100 to GT-I9100
[15 Info  16:29:56.236] PrimarySource.AddTrackList (): Duration = 00:03:16.5471810
196

[15 Debug 16:35:00.058] Finished - Adding 100 of 100 to GT-I9100
[15 Info  16:35:00.963] PrimarySource.AddTrackList (): Duration = 00:03:09.9261120
189

[15 Debug 16:39:27.972] Finished - Adding 100 of 100 to GT-I9100
[15 Info  16:39:28.909] PrimarySource.AddTrackList (): Duration = 00:02:59.4409870
179

[15 Debug 16:44:45.616] Finished - Adding 100 of 100 to GT-I9100
[15 Info  16:44:46.431] PrimarySource.AddTrackList (): Duration = 00:02:56.6207690
176

-- With Caching

[15 Debug 14:53:51.134] Finished - Adding 100 of 100 to GT-I9100
[15 Info  14:53:51.986] PrimarySource.AddTrackList (): Duration = 00:02:37.8590760
157

[15 Debug 15:00:19.263] Finished - Adding 100 of 100 to GT-I9100
[15 Info  15:00:20.105] PrimarySource.AddTrackList (): Duration = 00:03:01.1788030
181

[22 Debug 15:04:47.529] Finished - Adding 100 of 100 to GT-I9100
[22 Info  15:04:48.524] PrimarySource.AddTrackList (): Duration = 00:02:52.6943920
172

[15 Debug 15:14:25.170] Finished - Adding 100 of 100 to GT-I9100
[15 Info  15:14:26.122] PrimarySource.AddTrackList (): Duration = 00:02:44.5882630
164

[22 Debug 15:19:04.786] Finished - Adding 100 of 100 to GT-I9100
[22 Info  15:19:05.782] PrimarySource.AddTrackList (): Duration = 00:02:56.8535020
176

[22 Debug 15:24:54.451] Finished - Adding 100 of 100 to GT-I9100
[22 Info  15:24:55.358] PrimarySource.AddTrackList (): Duration = 00:02:55.8461550
175

[15 Debug 15:30:19.086] Finished - Adding 100 of 100 to GT-I9100
[15 Info  15:30:20.215] PrimarySource.AddTrackList (): Duration = 00:03:13.9683760
193

# Summary

-- Without Caching

- After 3 runs

Min: 168 seconds
Max: 191 seconds
Med: 168 seconds
Avg: 175.6... seconds

- Ater 7 runs

Min: 168
Max: 196
Med: 176
Avg: 181

-- With Caching

- After 3 runs

Min: 157 seconds
Max: 181 seconds
Med: 172 seconds
Avg: 170 seconds

- After 7 runs

Min: 157
Max: 193
Med: 175
Avg: 174
