From 39fce8d0a5a6d91923e532a62ad2e6e4e26bdae7 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Thu, 11 Feb 2016 14:40:27 +0100 Subject: pass user/maintainer provided CXXFLAGS to the Scintilla build process * Usually, Scintilla will now be built with -O2 * this can improve performance significantly over the standard Scintilla -Os (up to 10%). * this also allows link-time-optimizing both Scintilla and SciTECO (which are linked statically) by adding -flto to CFLAGS, CXXFLAGS and LDFLAGS. Link-time-optimization will both reduce the total binary size and improve performance slightly since scintilla_send_message() can be inlined. An -O3 optimized Scintilla when linked with LTO results in an only 300kb larger SciTECO binary. * the highest possible optimization thus requires the following maintainer flags on the ./configure command line: CFLAGS="-O3 -mtune=native -march=native -flto" CXXFLAGS="-O3 -mtune=native -march=native -flto" LDFLAGS="-flto" * Windows and Debian builds use link-time-optimization now. On Windows - where we link in everything statically - building the dependant libraries with -flto could improve performance even more. * Debian builds respect the default hardening flags of the build server now. This should ensure that SciTECO is built for the correct architecture at the recommended optimization level etc. --- TODO | 3 --- 1 file changed, 3 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index 1349d4d..94ef048 100644 --- a/TODO +++ b/TODO @@ -184,9 +184,6 @@ Features: Use Autotest for instance. Optimizations: - * Support link-time-optimization for Scintilla and SciTECO. - This could significantly improve performance esp. when linking - in everything statically as is done on Windows. * Instead of using RTTI to implement the immediate editing command behaviours in Cmdline::process_edit_cmd() depending on the current state, this could be modelled via virtual methods in State. -- cgit v1.2.3