"How long will it take my image to process"?

This is a common question we get asked and it's a very valid question. From both a cost and a user experience standpoint we understand that it is very important that this number be as small as possible. At the same time, it is one that is very hard to give a concrete answer. There may be network latency, the image may be huge, or you may need to do a computationally expensive operation on that image. 

As a random sampling, I will pull an item out of the logs and examine it:

  • Original Size 1235 × 1500 pixels
  • Function: resize_to_fill 180x180
  • Pushed to S3 bucket with Image Quality 80
  • ---------    Time -----------------------
  • queue : 0.650s
  • load : 0.445s
  • function:  0.777s
  • Total Billed Duration: 1.36s
  • End User Perceived Time: ~ 2 seconds 

Another random sampling:

  • Original Size 2592 x 1936
  • Function: resize_to_fit 260
  • Pushed to S3 bucket with Image Quality 80
  • ------------ Time -----------------------
  • queue: 0.391s
  • load: 0.294s
  • function: 0.559
  • Total Billed Duration: 0.96s
  • End User Perceived Time: ~1.3 seconds

 Our average queue time is about 0.5, our average load time varies greatly depending on source, but is usually sub-sec and function time is based on how complicated the functions are but are usually sub-second for small cropping.