diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-03-28 11:58:30 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-03-28 12:25:48 (GMT) |
commit | c48639744a6fa118b9851b307107994ba93ce4c8 (patch) | |
tree | 8917c567f8f00560fba4554ade2b7e79bbe3ff45 /src/doctokenizer.l | |
parent | cef71dc4fcfca9e3580214c39f20dc538ed6b2d9 (diff) | |
download | Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.zip Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.tar.gz Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.tar.bz2 |
Refactoring: Add TextStream buffer to improve output writing performance
- direct use of std::stringstream and std::ostream gave a 30%
drop in performance.
Diffstat (limited to 'src/doctokenizer.l')
-rw-r--r-- | src/doctokenizer.l | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 5debd5f..e2aac01 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -152,9 +152,9 @@ const char *tokToString(int token) return "ERROR"; } -static int computeIndent(const char *str,int length) +static int computeIndent(const char *str,size_t length) { - int i; + size_t i; int indent=0; static int tabSize=Config_getInt(TAB_SIZE); for (i=0;i<length;i++) @@ -498,7 +498,7 @@ RCSID "$"("Author"|"Date"|"Header"|"Id"|"Locker"|"Log"|"Name"|"RCSfile"|"Revisio <St_Para>^{LISTITEM} { /* list item */ lineCount(yytext,yyleng); QCString text=yytext; - int dashPos = text.findRev('-'); + size_t dashPos = static_cast<size_t>(text.findRev('-')); g_token->isEnumList = text.at(dashPos+1)=='#'; g_token->id = -1; g_token->indent = computeIndent(yytext,dashPos); @@ -543,7 +543,7 @@ RCSID "$"("Author"|"Date"|"Header"|"Id"|"Locker"|"Log"|"Name"|"RCSfile"|"Revisio <St_Para>{BLANK}*(\n|"\\ilinebr"){LISTITEM} { /* list item on next line */ lineCount(yytext,yyleng); QCString text=extractPartAfterNewLine(yytext); - int dashPos = text.findRev('-'); + size_t dashPos = static_cast<size_t>(text.findRev('-')); g_token->isEnumList = text.at(dashPos+1)=='#'; g_token->id = -1; g_token->indent = computeIndent(text,dashPos); @@ -820,7 +820,7 @@ RCSID "$"("Author"|"Date"|"Header"|"Id"|"Locker"|"Log"|"Name"|"RCSfile"|"Revisio } else { - g_token->indent=computeIndent(yytext,(int)yyleng); + g_token->indent=computeIndent(yytext,yyleng); int i; // put back the indentation (needed for list items) for (i=0;i<g_token->indent;i++) |