Skip to content
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

WI #1296 Performance tests #1307

Merged
merged 3 commits into from
Mar 22, 2019
Merged

Conversation

osmedile
Copy link
Contributor

Add performance tests for common use case of TypeCobol.

There are 3 parts.
Each file within the same part is supposed to have more or less the same performance.

The performance of the first file of a part always serve as reference for the others tests.

Part1:

  • Cobol85 that serves as reference
  • TC BigTypes : Cobol85 pgm with big declaration transformed to TypeCobol.
    Simply replaced Copy with typedef.
  • TC BigTypes With procedure : Like TC BigTypes but under a procedure
  • Like Cobol85 but all declarations under global-storage

Part2:

  • TC with 1 typedef used 1 time in program and 1 time as a procedure
    parameter
  • Same but type used 100 times in the program
  • Same as first but type is used 100 times as a procedure parameter

Part3:

  • Cobol85 : Deep variables declaration. No qualified symbolReference.
  • TC : same but with multiple typedef. No qualified symbolReference.

Not cover by this PR:

  • Test for operator ::
  • Test with a lot of code split into procedure. Like a Cobol85 where all paragraphs are replaced by procedure

There are 3 parts.

Each file of a part is supposed to have more or less the same
performance.

The performance of the first file always serve as reference for the
others tests.

Part1:
- Cobol85 that serves as reference
- TC BigTypes : Cobol85 pgm with big declaration transformed to TypeCobol.
  Simply replaced Copy with typedef.
- TC BigTypes With procedure : Like TC BigTypes but under a procedure
- Like Cobol85 but all declarations under global-storage

Part2:
- TC with 1 typedef used 1 time in program and 1 time as a procedure
parameter
- Same but type used 100 times in the program
- Same as first but type is used 100 times as a procedure parameter

Part3:
- Cobol85 : Deep variables declaration. No qualified symbolReference.
- TC : same but with multiple typedef. No qualified symbolReference.
… between each line

It's easier to compare time spent on each step of the parsng.
…gnostic

An error can means the parsing is incomplete. We want a complete parsing to compare performance.

FullParsing : Warmup parsing was done in the loop of parsing. Move it
outside.
@smedilol smedilol requested review from maxime645 and mayanje March 11, 2019 12:57
@smedilol smedilol added Enhancement User Visible Visible by the end user. Useful to priorize issue Performance Tests Our tests for CI/CD and removed Enhancement User Visible Visible by the end user. Useful to priorize issue labels Mar 11, 2019
@smedilol smedilol self-assigned this Mar 19, 2019
@smedilol smedilol merged commit a563936 into TypeCobolTeam:develop Mar 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Performance Tests Our tests for CI/CD
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants