**** Time summary:
Compilation (3 times):
  Parsing (frontend):            2.3 s
  Codegen & opts (backend):      0.3 s

**** Files that took longest to parse (compiler frontend):
   969 ms: tests/self-win-clang-cl-9.0rc2/Utils.json
   718 ms: tests/self-win-clang-cl-9.0rc2/Colors.json
   619 ms: tests/self-win-clang-cl-9.0rc2/Allocator.json

**** Files that took longest to codegen (compiler backend):
   302 ms: tests/self-win-clang-cl-9.0rc2/Utils.json
    15 ms: tests/self-win-clang-cl-9.0rc2/Colors.json

**** Templates that took longest to instantiate:
    16 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (8 times, avg 2 ms)
     9 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (3 times, avg 3 ms)
     8 ms: std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator... (5 times, avg 1 ms)
     7 ms: std::basic_string<char32_t, std::char_traits<char32_t>, std::allocat... (4 times, avg 1 ms)
     6 ms: std::basic_string<char16_t, std::char_traits<char16_t>, std::allocat... (4 times, avg 1 ms)
     6 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char> > (2 times, avg 3 ms)
     5 ms: std::basic_string<char32_t, std::char_traits<char32_t>, std::allocat... (2 times, avg 2 ms)
     5 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (2 times, avg 2 ms)
     5 ms: std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator... (2 times, avg 2 ms)
     5 ms: std::basic_string<char16_t, std::char_traits<char16_t>, std::allocat... (2 times, avg 2 ms)
     5 ms: std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator... (3 times, avg 1 ms)
     4 ms: std::basic_string<char32_t, std::char_traits<char32_t>, std::allocat... (2 times, avg 2 ms)
     4 ms: std::basic_string<char16_t, std::char_traits<char16_t>, std::allocat... (2 times, avg 2 ms)
     3 ms: std::_Integral_to_string<char, int> (1 times, avg 3 ms)
     3 ms: std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator... (2 times, avg 1 ms)
     3 ms: std::basic_string<char32_t, std::char_traits<char32_t>, std::allocat... (2 times, avg 1 ms)
     2 ms: std::basic_string<char16_t, std::char_traits<char16_t>, std::allocat... (2 times, avg 1 ms)
     2 ms: std::_Integral_to_string<wchar_t, int> (1 times, avg 2 ms)
     1 ms: std::_Floating_to_string<float> (1 times, avg 1 ms)
     1 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 1 ms)
     1 ms: std::_Floating_to_wstring<float> (1 times, avg 1 ms)
     1 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 1 ms)
     1 ms: std::allocator<char>::allocate (2 times, avg 0 ms)
     1 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 1 ms)
     1 ms: std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator... (1 times, avg 1 ms)
     1 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 1 ms)
     1 ms: std::_Integral_to_string<char, long> (1 times, avg 1 ms)
     1 ms: std::_Allocate<16, std::_Default_allocate_traits, 0> (2 times, avg 0 ms)
     1 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (2 times, avg 0 ms)
     0 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 0 ms)

**** Template sets that took longest to instantiate:
    39 ms: std::basic_string<$>::basic_string (21 times, avg 1 ms)
    23 ms: std::basic_string<$>::assign (10 times, avg 2 ms)
    23 ms: std::basic_string<$> (8 times, avg 2 ms)
    15 ms: std::basic_string<$>::_Reallocate_for<$> (8 times, avg 1 ms)
     9 ms: std::_Integral_to_string<$> (7 times, avg 1 ms)
     3 ms: std::basic_string<$>::basic_string<$> (2 times, avg 1 ms)
     1 ms: std::_Floating_to_string<$> (1 times, avg 1 ms)
     1 ms: std::_Floating_to_wstring<$> (1 times, avg 1 ms)
     1 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 1 ms)
     1 ms: std::allocator<$>::allocate (2 times, avg 0 ms)
     1 ms: std::basic_string<$>::push_back (1 times, avg 1 ms)
     1 ms: std::basic_string<$>::rbegin (1 times, avg 1 ms)
     1 ms: std::_Allocate<$> (2 times, avg 0 ms)
     1 ms: std::basic_string<$>::~basic_string (2 times, avg 0 ms)
     0 ms: std::basic_string<$>::substr (1 times, avg 0 ms)
     0 ms: std::reverse_iterator<$> (1 times, avg 0 ms)
     0 ms: std::basic_string<$>::_Reallocate_grow_by<$> (1 times, avg 0 ms)
     0 ms: std::basic_string<char, std::char_traits<char>, std::allocator<char>... (1 times, avg 0 ms)
     0 ms: std::basic_string<$>::_Construct_lv_contents (1 times, avg 0 ms)
     0 ms: std::basic_string<$>::end (1 times, avg 0 ms)
     0 ms: std::basic_string<$>::_Take_contents (1 times, avg 0 ms)

**** Functions that took longest to compile:
    27 ms: class std::basic_string<char, struct std::char_traits<char>, class s... (src/Utils.cpp)
    25 ms: class std::basic_string<char, struct std::char_traits<char>, class s... (src/Utils.cpp)
    18 ms: void __cdecl utils::Initialize(void) (src/Utils.cpp)
    10 ms: class std::basic_string<char, struct std::char_traits<char>, class s... (src/Utils.cpp)
     7 ms: private: class std::basic_string<char, struct std::char_traits<char>... (src/Utils.cpp)
     6 ms: private: class std::basic_string<char, struct std::char_traits<char>... (src/Utils.cpp)
     6 ms: void __cdecl utils::ForwardSlashify(class std::basic_string<char, st... (src/Utils.cpp)
     6 ms: void __cdecl `dynamic atexit destructor for 's_CurrentDir''(void) (src/Utils.cpp)
     6 ms: bool __cdecl utils::IsHeader(class std::basic_string<char, struct st... (src/Utils.cpp)
     6 ms: void __cdecl utils::Lowercase(class std::basic_string<char, struct s... (src/Utils.cpp)
     6 ms: private: class std::basic_string<wchar_t, struct std::char_traits<wc... (src/Utils.cpp)
     5 ms: bool __cdecl utils::EndsWith(class std::basic_string<char, struct st... (src/Utils.cpp)
     4 ms: bool __cdecl utils::BeginsWith(class std::basic_string<char, struct ... (src/Utils.cpp)
     4 ms: void __cdecl col::Initialize(void) (src/Colors.cpp)
     4 ms: class std::basic_string<char, struct std::char_traits<char>, class s... (src/Utils.cpp)
     2 ms: void __cdecl `dynamic atexit destructor for 's_Root''(void) (src/Utils.cpp)
     1 ms: private: void __cdecl std::basic_string<char, struct std::char_trait... (src/Utils.cpp)
     1 ms: public: unsigned __int64 __cdecl std::basic_string<char, struct std:... (src/Utils.cpp)
     1 ms: public: __cdecl std::basic_string<char, struct std::char_traits<char... (src/Utils.cpp)
     1 ms: unsigned __int64 __cdecl std::_Traits_rfind_ch<struct std::char_trai... (src/Utils.cpp)
     1 ms: void __cdecl col::Initialize(void) (tests/self-win-clang-cl-9.0rc2/Colors.json)
     1 ms: public: __cdecl std::basic_string<char, struct std::char_traits<char... (src/Utils.cpp)
     1 ms: public: class std::basic_string<char, struct std::char_traits<char>,... (src/Utils.cpp)
     1 ms: private: void __cdecl std::basic_string<char, struct std::char_trait... (src/Utils.cpp)
     1 ms: private: void __cdecl std::basic_string<wchar_t, struct std::char_tr... (src/Utils.cpp)
     1 ms: public: class std::basic_string<char, struct std::char_traits<char>,... (src/Utils.cpp)
     0 ms: private: void __cdecl std::basic_string<char, struct std::char_trait... (src/Utils.cpp)
     0 ms: _GLOBAL__sub_I_Utils.cpp (src/Utils.cpp)
     0 ms: public: __cdecl std::basic_string<wchar_t, struct std::char_traits<w... (src/Utils.cpp)
     0 ms: public: __cdecl std::basic_string<char, struct std::char_traits<char... (src/Utils.cpp)

**** Function sets that took longest to compile / optimize:
    27 ms: class std::basic_string<$> __cdecl utils::GetNicePath(class std::bas... (1 times, avg 27 ms)
    25 ms: class std::basic_string<$> __cdecl utils::GetNicePath(char const *) (1 times, avg 25 ms)
    10 ms: class std::basic_string<$> __cdecl utils::GetFilename(class std::bas... (1 times, avg 10 ms)
     7 ms: private: class std::basic_string<$> & __cdecl std::basic_string<$>::... (1 times, avg 7 ms)
     6 ms: private: class std::basic_string<$> & __cdecl std::basic_string<$>::... (1 times, avg 6 ms)
     6 ms: void __cdecl utils::ForwardSlashify(class std::basic_string<$> &) (1 times, avg 6 ms)
     6 ms: bool __cdecl utils::IsHeader(class std::basic_string<$> const &) (1 times, avg 6 ms)
     6 ms: void __cdecl utils::Lowercase(class std::basic_string<$> &) (1 times, avg 6 ms)
     6 ms: private: class std::basic_string<$> & __cdecl std::basic_string<$>::... (1 times, avg 6 ms)
     5 ms: bool __cdecl utils::EndsWith(class std::basic_string<$> const &, cla... (1 times, avg 5 ms)
     4 ms: bool __cdecl utils::BeginsWith(class std::basic_string<$> const &, c... (1 times, avg 4 ms)
     4 ms: class std::basic_string<$> __cdecl WideToUtf(class std::basic_string... (1 times, avg 4 ms)
     2 ms: private: void __cdecl std::basic_string<$>::_Tidy_deallocate(void) (2 times, avg 1 ms)
     1 ms: public: __cdecl std::basic_string<$>::~basic_string<$>(void) (2 times, avg 0 ms)
     1 ms: private: void __cdecl std::basic_string<$>::_Construct_lv_contents(c... (1 times, avg 1 ms)
     1 ms: private: static unsigned __int64 __cdecl std::basic_string<$>::_Calc... (2 times, avg 0 ms)
     1 ms: private: unsigned __int64 __cdecl std::basic_string<$>::_Calculate_g... (2 times, avg 0 ms)
     1 ms: public: unsigned __int64 __cdecl std::basic_string<$>::rfind(char, u... (1 times, avg 1 ms)
     1 ms: public: __cdecl std::basic_string<$>::basic_string<$>(class std::bas... (1 times, avg 1 ms)
     1 ms: unsigned __int64 __cdecl std::_Traits_rfind_ch<$>(char const *const,... (1 times, avg 1 ms)
     1 ms: public: __cdecl std::basic_string<$>::basic_string<$>(class std::bas... (1 times, avg 1 ms)
     1 ms: public: class std::basic_string<char, struct std::char_traits<char>,... (1 times, avg 1 ms)
     1 ms: private: static void __cdecl std::basic_string<$>::_Xlen(void) (2 times, avg 0 ms)
     1 ms: public: class std::basic_string<$> & __cdecl std::basic_string<$>::a... (1 times, avg 1 ms)
     0 ms: private: void __cdecl std::basic_string<$>::_Move_assign(class std::... (1 times, avg 0 ms)
     0 ms: public: class std::basic_string<$> __cdecl std::basic_string<$>::sub... (1 times, avg 0 ms)
     0 ms: public: __cdecl std::basic_string<$>::basic_string<$>(wchar_t const ... (1 times, avg 0 ms)
     0 ms: public: __cdecl std::basic_string<$>::basic_string<$>(char const *co... (1 times, avg 0 ms)
     0 ms: public: class std::basic_string<$> & __cdecl std::basic_string<$>::a... (1 times, avg 0 ms)
     0 ms: public: void __cdecl std::allocator<$>::deallocate(wchar_t *const, u... (1 times, avg 0 ms)

**** Expensive headers:
1740 ms: C:/Program Files (x86)/Windows Kits/10/include/10.0.17763.0/um/windows.h (included 3 times, avg 580 ms), included via:
  3x: <direct include>

231 ms: src/Utils.h (included 1 times, avg 231 ms), included via:
  1x: <direct include>

209 ms: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.22.27905/include/algorithm (included 1 times, avg 209 ms), included via:
  1x: <direct include>

35 ms: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.22.27905/include/stdexcept (included 1 times, avg 35 ms), included via:
  1x: <direct include>

