¿Cómo minimizar el tamaño de una tabla de enteros en formato numérico?Las tablas que se deben guardar son todos números enteros.
¡Gracias!
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << delete columns( 1 :: 3 );
New Column( "A" );
Column( "A" ) << Formula( 1000 + Row() );
dt << run formulas;
Column( "A" ) << deleteFormula;
secuencias de comandosRe: ¿Cómo minimizar el tamaño de una tabla de enteros en formato numérico?¿Minimizar en memoria o en disco?
En la memoria: use un formato numérico corto, numérico (1), numérico (2) o numérico (4).Estos especifican un entero con signo del mismo número de bytes con algunos valores reservados para los que faltan. Todos son más pequeños que un doble (8 bytes) que pueden representar números enteros de hasta ~50 bits... un rango mucho más grande que el rango de 8/16/32 bits. También ahorra espacio en el disco. (No creo que sea necesario, pero un comentario reciente en la comunidad dijo que la preferencia por números cortos tiene que estar activada para usarlos. Después de activar las preferencias, mire los tipos numéricos disponibles al crear columnas y mire el JSL que se guarda. Los rangos son aproximadamente +/-126, +/-32000, +/-2e9.)
En disco: use compresión. Dos enfoques, ya sea usar el triángulo rojo para hacer una compresión tipo zip de todas las columnas, o usar la utilidad compress-columns que busca ver si la columna tiene un número limitado de valores que podrían representarse como una búsqueda. El enfoque zip es lento al guardar, más rápido al descomprimir, pero no tan rápido como cargar los datos sin comprimir.
Puedes usar un número (1 o 2 o 4) y comprima el archivo con buenos resultados si todavía hay alguna redundancia en los datos que zip puede exprimir. Pero está descomprimido en la memoria, por lo que no ayuda allí.
Re: ¿Cómo minimizar el tamaño de una tabla de enteros en formato numérico?Gracias Craig!
Necesito reducir el tamaño del archivo almacenado en el disco duro. Pero no sé cómo hacerlo con JSL.
Re: ¿Cómo minimizar el tamaño de una tabla de enteros en formato numérico?Creé un archivo con la GUI, establecí la columna en numérico (1) y usé el triángulo rojo para solicitar la compresión en el disco. Entonces agarré el guión.
New Table( "Untitled",
Add Rows( 0 ),
Compress File When Saved( 1 ),
New Column( "Column 1", Numeric( 1 ), "Continuous", Set Selected )
)