obtén velocidad de escritura a cada segundo mientras creas un archivo en Python / Java

Estoy tratando de crear un archivo grande, digamos 5/10 GB. Pero necesito mostrar la velocidad de escritura en cada segundo. algo como esto

783441920 bytes (783 MB, 747 MiB) copied, 1 s, 783 MB/s
1088824320 bytes (1.1 GB, 1.0 GiB) copied, 2 s, 544 MB/s
1390494720 bytes (1.4 GB, 1.3 GiB) copied, 3 s, 462 MB/s
1602211840 bytes (1.6 GB, 1.5 GiB) copied, 4 s, 399 MB/s
1678894080 bytes (1.7 GB, 1.6 GiB) copied, 5 s, 312 MB/s
1850752000 bytes (1.9 GB, 1.7 GiB) copied, 6 s, 308 MB/s
2023480320 bytes (2.0 GB, 1.9 GiB) copied, 7 s, 288 MB/s
2195302400 bytes (2.2 GB, 2.0 GiB) copied, 8 s, 274 MB/s
2363176960 bytes (2.4 GB, 2.2 GiB) copied, 9 s, 262 MB/s

Pero no puedo encontrar ninguna manera de obtener la velocidad por segundo. (No puedo usar dd command, tengo que crear el archivo manualmente en Python o Java)

Respuesta 1

Java no ofrece getWriteSpeed ​​() o algo así. Pero suponiendo que escriba ese archivo usando un FileOutputStream, intente no escribir todos los datos a la vez, pero divida sus datos en trozos, por ejemplo. 1024 bytes y obtenga el tiempo antes de toda la Operación de escritura y después de cada escritura () (y, si es necesario, flush ()) llamada a la secuencia por System.currentTimeMillis ()

Su velocidad de escritura sería (chunksWritten * 1024) / ((currentTime - writeStartTime) / 1000d) en bytes / seg.

Luego, cada segundo puede generar ese valor. Para detectar un nuevo segundo, puede guardar el resultado de currentTime% 1000 (el resto de la división en 1000) y verificar cada ciclo de escritura si es menor que el anterior.

Respuesta: 2

Quiero recibir un mensaje de (amq) y escribir en (algún archivo). Pude recibir un mensaje de AMQ pero no pude crear el archivo. Por favor, dime dónde hay un problema aquí es mi ruta. from ("test-jms: queue: Test-AMQ") ....

EDITAR: ESTÁ FIJO, ¡GRACIAS POR LA AYUDA! Básicamente, tengo una serie de cadenas, una pregunta y una respuesta pública estática String [] [] triviaData = {{"Question2", "Answer1"}, {"Question2", "...

¿Cómo insertar datos en una clase separada? paquete teste01classes; public class Teste01Classes {public static void main (String [] args) {Alunos [] aluno = new Alunos [20]; aluno [0] = ...

Estoy tratando de hacer que las barras de desplazamiento funcionen. El código muestra las imágenes que elijo. Y acabo de leer (en stackoverflow) sobre agregar la imagen a un panel, luego el panel al panel de desplazamiento, y el ...