0
我需要在數組中存儲多個字符串(它們將保持不變並且不會被修改)並訪問它們很多次,我們希望儘可能快地實現查找。下方哪會給更快的訪問:在一個靜態分配的數組中訪問VS通過一個指向靜態分配數組的指針訪問
方法1:
const char* string_literal[] = {"Test1","Dummy","Dummy","Test2","Test3","Dummy"}; // storing as string literals
... ... ... ...
... ... ... ...
const char* string_literal1000[]= {"Beta1","Beta2","Beta3"};
方法2:
const char test1ptr[] = "Test1",
const char test2ptr[] = "Test2",
const char test3ptr[] = "Test3",
const char dummyptr[] = "Dummy",
const char* string_ptr1 [] = {test1ptr,dummyptr,dummyptr,test2ptr,test3ptr,dummyptr}; // storing as pointers
... ... ...
const char* string_ptr1000[] = {"Beta1","Beta2","Beta3"};
;或方法1和方法2是否會產生相同的性能?
注:
- 我將有1000記錄(如string_ptr1,sting_ptr2等,或string_literal1,string_literl2等)平均20串conating(如 「測試1」 繞,測試2" 等。
- 「虛擬」將出現只有幾個記錄
string_literal1000不會編譯 – sehe
並且string_ptr1000也不會,除此之外,這真的是世界上最後一個應該尋找性能命中的地方。 –
這是我見過的最荒謬的微型優化。不要浪費你的時間,只是編程。 –