我正在研究生成大量類(百萬)實例的程序。這個課程非常簡單,只需要3個花車。濃縮3漂浮到uint64_t
現在這些花車可以存在的範圍在0到1之間(顏色值),並且通常它們是非常簡單的值(1,0.5,0.25,0)。爲了節省內存,我認爲讓這些類的池最好,因爲它們只用於只讀環境,所以它們可以在多個地方共享指針樣式。
我認爲將這些對象存儲在unordered_map中會起作用,並且會使用uint64_t的鍵值。密鑰的值將是每個浮點數的高21位。
是否有一種簡潔的方式來獲得每個浮點數的高21位,並將它們放在一起成爲一個64位整數?
或者這只是一個愚蠢的方式去做這件事?我不確定這是否有效或有利,但如果它有效,我將把它擴展到程序中的其他類別(位置值,形狀等可能最終共享值)
3個浮點數在大多數平臺上佔用12個字節。算一算。除非你在嵌入式平臺上工作,否則可能不值得。 – 2011-06-10 19:11:41