<< 작성중 >>

성능과 관련된 옵션들

-fno-rtti (runtime type information)

rtti는 아래와 같이 두가지 경우에 사용됩니다.

- #include <typeinfo>

typeinfo(this).name()

### c++

class type_info {
public:
    virtual ~type_info();
    bool operator==(const type_info& rhs) const;
    bool operator!=(const type_info& rhs) const;
    int before(const type_info& rhs) const;
    const char* name(__type_info_node* __ptype_info_node = &__type_info_root_node) const;
    const char* raw_name() const;
private:
    void *_m_data;
    char _m_d_name[1];
    ...
};

- dynamic_cast

성능에 영향을 줄 수 있으므로 -fno-rtti 를 주면 type_info가 생성되지 않습니다.


-Os

-Os는 O2에 -falign-functions  -falign-jumps  -falign-loops -falign-labels  -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays  -ftree-vect-loop-version 를 제거한 것과 같다.


-fprofile-generate, -fprofile-use, -fprofile-arcs


참고자료 : http://blog.man7.org/2012/10/how-much-do-builtinexpect-likely-and.html


Linker options (-Wl, ...)

--as-needed :

http://www.ubuntu.or.kr/viewtopic.php?p=70082



신고

'프로그래밍 언어 > C/C++' 카테고리의 다른 글

[읽은 글] const correctness  (0) 2016.10.18
[C++11] std::function의 성능  (0) 2015.05.29
GCC options  (0) 2013.12.05
[C++11] Range based for loop  (4) 2013.11.13
[C++11] Move semantics  (4) 2013.11.10
[c++11] rvalue reference  (1) 2013.11.07
Posted by 소혼

티스토리 툴바