在粗糙集約簡過程中的乙個重要步驟,劃分等價類中,需要儲存等價類。
等價類的儲存分配有兩種策略:一次一分配和一步到位。
一次一分配的步驟是出現先乙個新等價類,呼叫一次malloc,以forest covertype為例,第一遍劃分時會形成581012個等價類。
這樣需要呼叫581012次malloc,儲存代價是 581012*sizeof(equivalence class) + 581012*sizeof(指標) 個位元組。
一步到位的方法是一次性申請581012個等價類的大儲存區域。
一次一分配會過多進行函式呼叫,581012或許不多,但資料增大到20億條時就不是可以忽略的代價,而且破壞資料區域性性。
好處是貌似這麼做不浪費儲存空間。
一步到位的好處是顯而易見的,缺點也很明顯,在申請前無法確定到底有幾個等價類會產生,多了浪費,少了不夠用。而且隨著約簡進行,等價類會越來越少,浪費嚴重。
所以這種情況下完全可以借鑑作業系統對頁面儲存分配的策略:一次一頁面。
隨便開啟記事本,輸入乙個字母,退出儲存,檢視檔案屬性, 會發現檔案大小 1 位元組,占用空間為 4kb。
4kb是檔案系統進行分配的基本粒度單位。
所以新的構造大型決策表約簡的漸進式儲存分配可以這樣:
1、決定插槽的數目,4kb 為粒度進行儲存分配。每4kb可以以儲存 1024個 4-byte 整型。
2、每個插槽只存放頁面指標,初始為null,不夠時立即分配新插槽。
這樣就達到了一種新的平衡。
漸進式儲存機制設想
針對業務採取不同的資料儲存可能性,為了維護安全性與高可用性,區塊鏈可以將其他資料庫作為乙個外掛程式,譬如mysql傳統資料庫,分布式資料庫等融合,企業開發應用時可以針對不同業務情形,選擇不同資料庫,來降低開發成本,所用的資料庫介面直接以grpc或者http方式呼叫.譬如部落格應用,最核心的使用者資料...
Makefile漸進式訓練
本目錄主要包含makefile一步步遞進學習的示例 makefile 例項 進行makefile小實驗,體驗makefile的功能。目錄中的makefile是不嚴謹的編寫方式。目錄中的makefile phony是嚴謹的編寫方式。切換至step0目錄下,即makefile所在的同級目錄,使用如下命令...
PWA 漸進式 web 應用
背景 解決的問題 關鍵時間節點 主要特點 使用pwa的基本要求 離線通知 作用域 更新策略 瀏覽器通過自身 diff 演算法能夠檢測 service work 的更新包含兩種方式 生命週期 mainfest欄位詳解 short name 應用展示的名稱 桌面上顯示的名稱 icons 定義不同尺寸的應...