[Madrid-pm] Capacidad de los sistemas de almacenamiento

Ramiro ramiro.encinas en gmail.com
Vie Sep 30 11:23:41 PDT 2016


Gracias por la observación Joaquín, desconocía ese dato.

Según la documentación del comando df de GNU coreutils por el cual se nutre
este módulo de Perl6, utiliza la base 1024 por defecto y deja al usuario la
decisión de utilizar otra como 1000.

Lo cierto es que para el propósito de este módulo da igual la base 1000 que
1024, pero si te animas puedes contribuir con un pull request para dar
opción al usuario de utilizar la base 1000, como hace df.

El 30 de septiembre de 2016, 13:37, Joaquin Ferrero <
explorer en joaquinferrero.com> escribió:

> Buenas.
>
> En la reunión de ayer, cuando Ramiro nos presentó su módulo, yo indiqué
> que no me parecía correcto que el cálculo se hiciese en base a dividir los
> bytes de la capacidad devuelta por el sistema operativo en múltiplos de
> 1024. Y que en su lugar se debía usar el valor de 1000.
>
> Este es un extracto de lo que figura en la página "Unidad de disco duro"
> de la Wikipedia:
>
>    Además, los fabricantes de discos duros, unidades de estado sólido y
>    tarjetas flash miden la capacidad de los mismos usando prefijos del
>    Sistema Internacional, que _emplean múltiplos de potencias de 1000
>    según la normativa IEC e IEEE_, en lugar de los prefijos binarios,
>    que emplean múltiplos de potencias de 1024, y son los usados por
>    sistemas operativos de Microsoft. Esto provoca que en algunos
>    sistemas operativos sea representado como múltiplos 1024 o como
>    1000, y por tanto existan confusiones, por ejemplo un disco duro de
>    500 GB, en algunos sistemas operativos será representado como 465
>    GiB (es decir gibibytes; 1 GiB = 1024 MiB) y en otros como 500 GB.
>
> De esta manera, los dispositivos de almacenamiento se igualan con las
> velocidades de transmisión o caudales, de las líneas de datos, basándose
> todas en múltiplos de 1000 (bueno, en la mayoría de los casos).
>
> Además... así el algoritmo de cálculo de las letras de los prefijos
> queda... de otra manera :)
>
> my $x = 7233434453; # valor de prueba
> my $n = int log($x) / log(10) / 3;
>
> return sprintf "%6.02f %2s", $x/10**($n*3), (qw(B KB MB GB TB PB EB ZB
> YB))[$n];   # "  7.23 GB"
>
> La división log $x / log 10  se debe a que en Perl 5 no existe la función
> logaritmo en base 10, que sí tiene Perl 6: .log10
>
>
> --
> JF^D
>
> _______________________________________________
> Madrid-pm mailing list
> Madrid-pm en pm.org
> http://mail.pm.org/mailman/listinfo/madrid-pm
>



-- 
Ramiro.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.pm.org/pipermail/madrid-pm/attachments/20160930/4c2f5be6/attachment.html>


Más información sobre la lista de distribución Madrid-pm