-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimize GQLParser by using raw buffer instead of istream #445
Conversation
Jenkins, please run tests. |
Unit testing failed. |
Unit testing passed. |
Unit testing failed. |
Due to failure in raft, jenkins please run tests again! |
Unit testing passed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM !
Awesome work! 👍
Unit testing passed. |
Unit testing passed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good job!
Unit testing failed. |
Jenkins, go! |
Unit testing passed. |
…#445) * Optimize GQLParser by using raw buffer instead of istream * Fixed ScannerTest * Fixed an memory leak on parsing failure
…#445) * Optimize GQLParser by using raw buffer instead of istream * Fixed ScannerTest * Fixed an memory leak on parsing failure
Now, there are still two instances of
std::istream
(yyin
) andstd::ostream
(yyout
) left in theyyFlexLexer
class, i.e. the base class ofGraphScanner
, which is provided by Flex, which we cannot optimize them away directly.For a workaround, we could make the whole parser reentrant, even on the failure cases, so that the parser could be used as a static, thread-local instance.