¿Cuánto tiempo llevará descargar un archivo de tamaño finito a una velocidad de descarga infinita?

Su pregunta requiere un mayor conocimiento sobre el hardware en uso y la distancia recorrida entre el cliente y el servidor.

1: haga ping al servidor para obtener el tiempo de respuesta (milisegundos) y divídalo a la mitad
2: Calcular el tamaño del archivo (bytes) / 1500 / 3e9 (segundos)
3: tamaño de archivo (bytes) / 500MB (segundos)
Súmalos y eso es lo rápido que será.

Suposiciones y advertencias:
* La utilización de paquetes es óptima
* La latencia de la red es constante.
* el disco es de estado sólido con un rendimiento de escritura de 500 MB

Todas las suposiciones proporcionan un mejor caso posible.

2 requiere alguna explicación. 1500 es la MTU de Ethernet, lo que significa que es el paquete máximo que puede enviar a una computadora sin causar una interrupción de la CPU. El número mínimo de paquetes es, por lo tanto, el tamaño del archivo (en bytes) dividido por el tamaño máximo de paquete. Además dividimos por 3e9 ya que esa es la frecuencia de reloj de la CPU. Ignoramos la cantidad de ciclos por segundo porque está canalizado y, y ese no es el cuello de botella.

3 asume discos de estado sólido muy rápidos con una velocidad de escritura de 500 MB / s.

Tamaño del archivo (MB) / Velocidad de descarga (MB / seg) = Tiempo de descarga (seg.)
Por lo tanto, si la velocidad de descarga es infinita, entonces para cualquier archivo de tamaño finito, el tiempo de descarga será cero.

lim (x), donde 0

0 segundos No importa qué tan grande es el archivo.