I find it helpful in terms of UI to bin things into fast and slow. I do this across the board, so in development, somethings will just be slow and trying to optimize seconds away is pointless. I also do this in the UI so that long running operations indicate that they will take a long time and there is usually a visual queue feature so users can see what operations are running, how long they have taken so far and expected completion time. An example is raster operations on large raster datasets. They just take a long time on standard business laptop hardware that my users typically have. Image saturation analysis or reprojecting lidar data with standard algorithms can be an hours long process if the dataset is a few GB.
But the process of queuing that operation up should be lightning fast and the context menu to cancel a running operation or check it's status should be equally so.
But the process of queuing that operation up should be lightning fast and the context menu to cancel a running operation or check it's status should be equally so.