This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, Jan 7, 2014 at 4:02 AM, Paolo Carlini <paolo.carlini@oracle.com> wrote: > Ideally, I would suggest committing first the improvements in your previous > patch (by the way, thanks for the numbers!) + the pure bug fixes and > separate the further performance improvements which have compile-time > performance implications (how big?), see if, eg, Jon has something to > recommend. Can we do that? First patch committed. I later found that the second patch "b.diff" is based on the committed version (the attach, which fixed the "&&" problem); Here's an example to test compile time: #include <regex> using namespace std; int main() { regex a("a"); regex b("a", regex_constants::ECMAScript | regex_constants::icase); regex c("a", regex_constants::ECMAScript | regex_constants::collate); regex d("a", regex_constants::ECMAScript | regex_constants::icase | regex_constants::collate); return 0; } Before the second patch: g++ -g -Wall -std=c++11 -O3 regextest.cc 3.30s user 0.13s system 99% cpu 3.435 total After it: g++ -g -Wall -std=c++11 -O3 regextest.cc 4.35s user 0.10s system 99% cpu 4.454 total I didn't noticed that's so time consuming. I think reducing the compile time is possible (by templating several member functions instead of whole _Compiler<> class). -- Regards, Tim Shen
Attachment:
a-fixed.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |