我一直在運行一個C++程序來達到科學目的,我現在正在考慮優化它。C++容器在添加元素到最後非常有效
瓶頸似乎是一個函數,我需要堆棧對整數。他們的編號從一開始就不可能知道,而且我一直在使用一個定製結構的std::vector
,它擁有兩個ints
。是否有一個更有效的數據容器在最後重複添加元素?我應該使用兩個ints
而不是一對或自定義結構嗎?
編輯: 在對我的程序進行計時和分析後,我可以說,對於我的使用,vector
比deque
稍快(僅增加3%)。我的外行人的結論是,CPU充分利用了數據的連續性。優化比以往任何時候都更適合我!對於它可能會有所幫助:通過從STL C++ 11隨機數生成器切換到BOOST,我實際上顯着改善了運行時間。
相關:http://stackoverflow.com/questions/471432/in-which-scenario-do -i-use-a-particular-stl-container – EdChum
一個快速的'std :: list' – Bastien
你如何訪問數據?你需要從前面,後面或者中間訪問它嗎?此信息對確定要使用的容器很重要。 –