memory-optimization

    1熱度

    1回答

    我有一個課,我將字面實例化數十億。我盡我所能將盡可能少的數據放入其中,並且在編譯爲x64體系結構時將其減少到10個字節:unsigned short int和size_t。當我將鼠標移到sizeof(myclass)(在VS中)時,它會報告16個字節。如果我註釋掉任何一個字段,那麼這個類的大小就是你所期望的,分別是10個字節和2個字節。 有沒有辦法指示編譯器只爲我的類使用10個字節?

    2熱度

    2回答

    我試圖對內存進行優化,使我的服務器繼續運行到OOM中。 大多數在服務器中的對象(通過計數)的採取以下形式: 每個對象都是一個HashMap HashMap的鍵是字符串 HashMap中的值是屬性類的對象,其只有一個int和2個布爾值。 重要提示:95%的此類hashmaps只會有一個關鍵;我知道在創建散列表時是否是這種情況。 有數以百萬計的這些hashmaps。 我已經問過關於優化那些hashma

    1熱度

    3回答

    是否有一個字符串「a」和字符「A」之間的大小有區別嗎? 你應該使用一個字符,當你需要保存單個字母或數字?

    0熱度

    2回答

    我已經完成爲我正在執行的項目編寫我的php腳本。我的下一步是我想看看是否可以從內存的角度來改進我的代碼,因爲我的一些腳本吃了很多內存。我一直在研究這個,一個建議是NULL和未設置變量,但我從來沒有看到這樣做的例子。所以,我想給我的劇本做了共同行動的例子,想知道這是否是這樣做的正確方法: $query = $dbconn->get_results("SELECT id,name FROM accou

    0熱度

    1回答

    在一些.NET文檔我已閱讀,這是編譯器如何處理揮發性: *「從揮發性閱讀或使用Thread.VolatileRead方法在邏輯上是一個獲取柵欄」 「寫入volatile或使用Thread.VolatileWrite方法在邏輯上是一個釋放圍欄「* 這些柵欄適用於編譯器和體系結構級別。 當然,VC++的主要區別在於柵欄只適用於編譯器級別。 所以我的問題是,什麼是Java的易失性內存重新排序預防語義?

    4熱度

    1回答

    目前,我正在優化大型批處理程序的內存使用情況。最多的內存由不同的DataTable使用。例如,我的DataTable dtTest使用大約260MB。 像線程「What is the memory overhead of storing data in a .NET DataTable?」接受的答案中的建議我試圖將相關數據移出DataTable。這是我的代碼: GC.Collect(); // f

    5熱度

    1回答

    背景: 目標是用OpenGL渲染的數據編寫一個相當大的(至少2048 x 2048像素)圖像文件。 今天,我首先使用glReadPixels爲了獲得32位(argb8888)像素數據到一個int數組。 然後我將數據複製到一個新的短陣列中,將32位argb值轉換爲16位(rgb565)值。此時,我還將圖像顛倒並更改顏色順序,以使opengl圖像數據與android位圖數據(不同的行順序和顏色通道順序

    1熱度

    1回答

    我有一個數組,其中索引加倍爲'項目集合的標識符',而數組的內容爲組編號。組號落入從0到N的有限範圍內,其中N < < length_of_the_array。因此,每一次進入都會被複制很多次。目前我必須使用2個字節來表示組號(可以是> 1000,但是< 6500),由於重複的性質,最終會消耗大量的內存。 有沒有辦法空間優化這個數組,因爲完整的數組可以進入多個MB大小。欣賞任何指向相關優化算法/技術

    0熱度

    1回答

    我目前使用UIGraphicsBeginImageContext(resultingImageSize);來創建圖像。 但是當我調用這個函數時,我不知道resultingImageSize的寬度。實際上,我開發了一些消耗大量內存的視頻處理,並且我不能先處理然後再繪製:在期間我必須畫出視頻處理。 如果我設置,例如UIGraphicsBeginImageContext(CGSizeMake(300,

    1熱度

    1回答

    我一直在試圖評估兩種情況下redis的內存大小。 方案-1: String commonString = "Test"; long commonId = 1234567890L; int size = 0; for(int i = 1; i <= 100; i++) { jedis.set((commonString+"_"+commonId+"