如何最小化數字格式的整數表的大小?需要保存的表都是整數。
謝謝!
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;
腳本Re: 如何最小化數字格式的整數表的大小?最小化內存還是磁盤?
在內存中:使用短數字格式 numeric(1)、numeric(2) 或 numeric(4)。它們指定了一個相同字節數的有符號整數,並帶有一些保留值以供缺失。 它們都小於一個雙精度數(8 字節),它可以表示高達 ~50 位的整數……比 8/16/32 位範圍大得多。 還可以節省磁盤空間。 (我認為這不是必需的,但社區中最近的一條評論說,必須啟用短數字的首選項才能使用它們。 打開 pref 後,在創建列時查看可用的數字類型,並查看保存的 JSL。 範圍大致為 +/-126、+/-32000、+/-2e9。)
在磁盤上:使用壓縮。 兩種方法,要么使用紅色三角形對所有列進行類似 zip 的壓縮,要么使用 compress-columns 實用程序查看列是否具有可以表示為查找的有限數量的值。 zip 方法在保存時速度較慢,在解壓縮時速度較快,但不如加載未壓縮數據的速度快。
您可以使用數字(1 或 2 或 4)和如果 zip 可以擠出的數據中仍然存在一些冗餘,則將文件壓縮到良好的效果。 但它已在內存中解壓縮,因此無濟於事。
Re: 如何最小化數字格式的整數表的大小?感謝克雷格!
我需要減小存儲在硬盤上的文件的大小。但我不知道如何使用 JSL 來做到這一點。
Re: 如何最小化數字格式的整數表的大小?我使用 GUI 製作了一個文件,將列設置為 numeric(1) 並使用紅色三角形請求在磁盤上進行壓縮。 然後我抓住了劇本。
New Table( "Untitled",
Add Rows( 0 ),
Compress File When Saved( 1 ),
New Column( "Column 1", Numeric( 1 ), "Continuous", Set Selected )
)