Could you test if this patch reduces the performance issues:
diff --git a/src/plugins/compilergcc/compilergcc.cpp b/src/plugins/compilergcc/compilergcc.cpp
index 3e82e3b..f6744c6 100644
--- a/src/plugins/compilergcc/compilergcc.cpp
+++ b/src/plugins/compilergcc/compilergcc.cpp
@@ -3467,7 +3467,14 @@ void CompilerGCC::LogWarningOrError(CompilerLineType lt, cbProject* prj, const w
Logger::level lv = (lt == cltError) ? Logger::error
: (lt == cltWarning) ? Logger::warning : Logger::info;
- m_pListLog->Append(errors, lv, 2);
+ static wxDateTime lastAutofitTime = wxDefaultDateTime;
+ if ( lastAutofitTime < (wxDateTime::Now() - wxTimeSpan::Seconds(3)) )
+ {
+ m_pListLog->Append(errors, lv, 2);
+ lastAutofitTime = wxDateTime::Now();
+ }
+ else
+ m_pListLog->Append(errors, lv);
// add to error keeping struct
m_Errors.AddError(lt, prj, filename, line.IsEmpty() ? 0 : atoi(wxSafeConvertWX2MB(line)), msg);
And here is some sample output for what is generating the warnings. None of the compilation fails (errors) just lots of warnings and the output works fine:
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/dynarray.h:877:5: note: in expansion of macro 'WX_DEFINE_TYPEARRAY_WITH_DECL_PTR'
WX_DEFINE_TYPEARRAY_WITH_DECL_PTR(T, name, wxBaseArrayDouble, wxARRAY_EMPTY expmode)
^
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/dynarray.h:995:1: note: in expansion of macro 'WX_DEFINE_USER_EXPORTED_ARRAY_DOUBLE'
WX_DEFINE_USER_EXPORTED_ARRAY_DOUBLE(double, wxArrayDouble, class WXDLLIMPEXP_BASE);
^
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/dynarray.h: In member function 'void wxArrayLong::Remove(_wxArraywxArrayLong)':
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/debug.h:194:43: warning: typedef 'wxDummyCheckInt' locally defined but not used [-Wunused-local-typedefs]
#define wxFORCE_SEMICOLON typedef int wxDummyCheckInt
^
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/debug.h:224:9: note: in expansion of macro 'wxFORCE_SEMICOLON'
wxFORCE_SEMICOLON /* just to force a semicolon */
^
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/dynarray.h:353:7: note: in expansion of macro 'wxCHECK2_MSG'
wxCHECK2_MSG( iIndex != wxNOT_FOUND, return, \
^
E:\Data\MinGW\CB\wxMSW-2.8.12\include/wx/dynarray.h:486:5: note: in expansion of macro '_WX_DEFINE_TYPEARRAY_HELPER'
_WX_DEFINE_TYPEARRAY_HELPER(T, name, base, classexp, _WX_PTROP_NONE)
^