Die zu speichernden Tabellen sind alle Ganzzahlen.
Danke!
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;
Im Arbeitsspeicher oder auf der Festplatte minimieren?
Im Speicher: Verwenden Sie ein kurzes numerisches Format, numeric(1), numeric(2) oder numeric(4).Diese geben eine vorzeichenbehaftete Ganzzahl mit der gleichen Anzahl von Bytes mit einigen reservierten Werten für das Fehlen an. Sie sind alle kleiner als ein Double (8 Byte), das Ganzzahlen bis zu ~50 Bit darstellen kann ... ein viel größerer Bereich als der 8/16/32-Bit-Bereich. Spart auch Platz auf der Festplatte. (Ich glaube nicht, dass dies erforderlich ist, aber ein kürzlich in der Community veröffentlichter Kommentar besagt, dass die Voreinstellung für kurze Zahlen aktiviert sein muss, um sie verwenden zu können. Sehen Sie sich nach dem Einschalten von pref die verfügbaren numerischen Typen beim Erstellen von Spalten an und sehen Sie sich die JSL an, die gespeichert wird. Die Bereiche sind ungefähr +/-126, +/-32000, +/-2e9.)
Auf der Festplatte: Komprimierung verwenden. Zwei Ansätze: Verwenden Sie entweder das rote Dreieck, um eine Zip-ähnliche Komprimierung aller Spalten durchzuführen, oder verwenden Sie das Dienstprogramm compress-columns, das prüft, ob die Spalte eine begrenzte Anzahl von Werten enthält, die als Suche dargestellt werden könnten. Der Zip-Ansatz ist langsam beim Speichern, schneller beim Dekomprimieren, aber nicht so schnell wie das Laden der unkomprimierten Daten.
Sie können eine Ziffer verwenden (1 oder 2 oder 4) und zip die Datei mit guter Wirkung, wenn die Daten, die zip herauspressen kann, immer noch redundant sind. Aber es ist im Speicher entpackt und hilft dort nicht.
Danke Craige!
Ich muss die Größe der auf der Festplatte gespeicherten Datei reduzieren. Aber ich weiß nicht, wie ich das mit JSL machen soll.
Ich habe eine Datei mit der GUI erstellt, die Spalte auf numeric(1) gesetzt und das rote Dreieck verwendet, um die Komprimierung auf der Festplatte anzufordern. Dann schnappte ich mir das Drehbuch.
New Table( "Untitled",
Add Rows( 0 ),
Compress File When Saved( 1 ),
New Column( "Column 1", Numeric( 1 ), "Continuous", Set Selected )
)