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] |