Background
I am getting out of Lightroom ecosystem because its sync system simply sucks. During the last year, the sync has failed three times (and I use it rarely, so it is often), and resync takes almost day because the system is slow (with ~20k pictures, I don’t even want to know how much it would take if I synced my full library).
Due to that, I decided to switch to simpler model. Immich in my Kubernetes cluster with all my recent mobile photos. Immich automatic upload does not support selecting window of pictures to upload - and I do not really want to have my old mobile pictures in my new ‘recent pictures only’ Immich test installation).
The mission: ’delete bunch of pictures from my phone’
I had to delete about 22k pictures on my phone from 2018-2024. Before 2018 I deleted earlier years’ pictures from my phone to save space, but I had not done that recently, so they had piled up.
The tool: ‘Apple Image Capture’
I was hopeful that the same process that I used before (‘select pictures, download, select pictures, delete’) that I used before would still work. I re-downloaded all pictures just in case, as while I think I have copies of them already in the Lightroom related folders, it never hurts to make sure.
As it turns out, Apple Image Capture in latest macOS 26.2 has amusing scalability problem - there is clearly some O(n^2) algorithm (or so) in place that gets triggered every time you delete a picture. This is probably fine, if you delete handful of pictures, but I wanted to bulk delete a lot more.
- When deleting block of ~6000 it goes one or two per second (which is not terribly bad, but not great either).
- When selecting 18k, in an hour it managed to polish off couple of hundred.
I think that if I delete couple of thousand at a time, I’ll be done ‘soon’’.
Morale of the story? Scalability does matter :-) During writing of this blog post, it deleted perhaps thousand pictures out of batch of six thousand.