¿ Cómo mediriaís la velocidad de copia en tiempo real de archivos ? - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: ¿ Cómo mediriaís la velocidad de copia en tiempo real de archivos ? (/thread-1340.html) |
¿ Cómo mediriaís la velocidad de copia en tiempo real de archivos ? - Shell - 27-04-2023 Buenas!. El tiempo que tarda la copia total la vimos hace ya tiempo en un ejemplo con la barra de progreso. Código: Public Sub Copiar() Pero, ¿ cómo calcularíamos la velocidad en tiempo real de la copia de "x" archivos ?. En Gambas tenemos la posibilidad de saber cuanto mide un archivo mediante el comando Stat. Código: Public Sub Main() Salida: Cita: Imaginar que tenemos 10 archivos iguales como ese. ( Eso puede ser lo más fácil ) Cada vez que termina la copia de uno de esos archivos, ha pasado un tiempo y se ha transferido una cantidad de información. Cada vez que escribe 4458K en el disco se acaba una copia, tenemos cuando comenzó y cuando terminó y vuelve a repetirse el proceso. comienzo = Timer diferenciadetiempo = Timer - comienzo Es tamaño / tiempo si no recuerdo mal. En el caso de un archivo si ha tardado 0.25 segundos y su tamaño es 4M, su velocidad podía haber sido: 4M / 0.25 = 16M/s ¿ No ?. Eso sería lo que tarda en copiarse un archivo. Como son archivos iguales pues sería sencillo de calcular. Ahora lo interesante sería de que los archivos fueran de distinto tamaño. Entonce supongo que por la formula anterior iríamos sumando los tiempos que tarda cada copia y dividiríamos por la media del número de archivos. Eso supongo que es lo que debe mostrarse en el progresos de la copia. ¿ Ustedes que opinan ?. Tranquis el mundo va a seguir ahí. Saludos RE: ¿ Cómo mediriaís la velocidad de copia en tiempo real de archivos ? - guizans - 27-04-2023 No tengo ni las más remota idea de como medir el tiempo, pero no creo que valga tu fórmula, ya que supongo que dependerá de la velocidad de escritura/lectura del dispositivo. Es decir, no es lo mismo un disco SSD que uno mecánico, que un USB 2.1 que un USB 3.0. También dependerá de las tareas que está haciendo el ordenador en ese momento, si la CPU está muy ocupada supongo que la escritura será más lenta. No debe ser fácil. Recuerdo que cuando usaba Windows los tiempos que marcaba el administrador de archivos variaban desde unos segundos hasta unas cuantas horas en el mismo proceso de copiado. Un saludo. RE: ¿ Cómo mediriaís la velocidad de copia en tiempo real de archivos ? - cogier - 28-04-2023 Pruebe este código en una nueva aplicación gráfica. Lo siento, pero está en inglés. Código: GridView1 As Gridview RE: ¿ Cómo mediriaís la velocidad de copia en tiempo real de archivos ? - Shell - 01-05-2023 (27-04-2023, 21:59)guizans escribió: No tengo ni las más remota idea de como medir el tiempo, pero no creo que valga tu fórmula, ya que supongo que dependerá de la velocidad de escritura/lectura del dispositivo. Es decir, no es lo mismo un disco SSD que uno mecánico, que un USB 2.1 que un USB 3.0. También dependerá de las tareas que está haciendo el ordenador en ese momento, si la CPU está muy ocupada supongo que la escritura será más lenta. No debe ser fácil. Recuerdo que cuando usaba Windows los tiempos que marcaba el administrador de archivos variaban desde unos segundos hasta unas cuantas horas en el mismo proceso de copiado. Naturalmente , los dispositivos son los dispositivos e influyen. Pero una caja de dialogo que muestra una copia de un archivo solo hace eso, copiar y muestra el valor en la barra de progreso ( que en realidad sea fiable esa velocidad es otra cuestión ). El proceso se va a realizar tanto si tienes un cd, un disco duro, como un disquete. Saludos |