You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article reports cpp-peglib is 10 times slower than the YACC based parser used in Postgress.
Postgres takes on average 24 ms to parse this file using YACC. Note that this time includes the execution of grammar actions that create Postgres' parse tree. cpp-peglib takes on average 266 ms to parse the test file. However, our experimental parser does not have grammar actions defined yet. When simulating actions by generating default AST actions for every rule, parsing time increases to 339 ms. Note that the AST generation is more expensive than required, because a node is created for each matching rule, even if there is no semantic meaning in the grammar at hand.
This article also mentions about places where we could to improve the performance of cpp-peglib.
Furthermore, there are still ample optimization opportunities in the experimental parsers we created using an off-the-shelf PEG library. For example, the library makes heavy use of recursive function calls, which can be optimized e.g., by using a loop abstraction.
The text was updated successfully, but these errors were encountered:
This article reports cpp-peglib is 10 times slower than the YACC based parser used in Postgress.
This article also mentions about places where we could to improve the performance of cpp-peglib.
The text was updated successfully, but these errors were encountered: