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

optimize processSerializerClass foundTypes #158

Merged
merged 2 commits into from
May 31, 2022

Conversation

LukaszKontowski
Copy link
Contributor

@LukaszKontowski LukaszKontowski commented May 31, 2022

Related to #135.
This change is a small improvement in performance for the codec-registration-serializer-check phase. It decreases it's duration from 3,8%~4% to 3,5%~3,7% (these were the numbers I had when using -Ystatistics on Hydra).

This change is not a big improvement - probably it could be possible to further improve performance for this phase (but I did not manage to find the solution) - comments will be added to the connected issue.

[info] *** Cumulative timers for phases
[info] #total compile time : 1 spans, ()100378.46ms
[info] parser : 1 spans, ()472.182ms (0.5%)
[info] namer : 1 spans, ()98.132ms (0.1%)
[info] packageobjects : 1 spans, ()21.358ms (0.0%)
[info] typer : 1 spans, ()53922.196ms (53.7%)
[info] semanticdb-typer : 1 spans, ()6054.648ms (6.0%)
[info] dump-persistence-schema : 1 spans, ()2919.134ms (2.9%)
[info] superaccessors : 1 spans, ()292.676ms (0.3%)
[info] extmethods : 1 spans, ()53.711ms (0.1%)
[info] pickler : 1 spans, ()164.356ms (0.2%)
[info] xsbt-api : 1 spans, ()1502.283ms (1.5%)
[info] xsbt-dependency : 1 spans, ()1072.27ms (1.1%)
[info] refchecks : 1 spans, ()4274.074ms (4.3%)
[info] codec-registration-class-sweep: 1 spans, ()50.878ms (0.1%)
[info] patmat : 1 spans, ()6797.482ms (6.8%)
[info] serializability-checker : 1 spans, ()267.094ms (0.3%)
[info] codec-registration-serializer-check: 1 spans, ()3469.263ms (3.5%)
[info] uncurry : 1 spans, ()3460.16ms (3.4%)
[info] fields : 1 spans, ()3165.507ms (3.2%)
[info] tailcalls : 1 spans, ()354.527ms (0.4%)
[info] specialize : 1 spans, ()569.147ms (0.6%)
[info] explicitouter : 1 spans, ()674.555ms (0.7%)
[info] erasure : 1 spans, ()3270.53ms (3.3%)
[info] posterasure : 1 spans, ()283.651ms (0.3%)
[info] lambdalift : 1 spans, ()590.631ms (0.6%)
[info] constructors : 1 spans, ()237.285ms (0.2%)
[info] flatten : 1 spans, ()241.52ms (0.2%)
[info] mixin : 1 spans, ()408.44ms (0.4%)
[info] cleanup : 1 spans, ()340.578ms (0.3%)
[info] delambdafy : 1 spans, ()420.013ms (0.4%)
[info] jvm : 1 spans, ()4852.874ms (4.8%)
[info] semanticdb-jvm : 1 spans, ()6.883ms (0.0%)
[info] xsbt-analyzer : 1 spans, ()30.156ms (0.0%)
[info] compiling 1 Scala source to /Users/lkontowski/code/phoenix-backend/migrations/keycloak-to-db/target/scala-2.13/classes ...
[success] Total time: 116 s (01:56), completed May 31, 2022, 12:37:24 PM

@PawelLipski
Copy link
Collaborator

Since the improvement in performance isn't as dramatic as previously, let's wait with the release for another batch of new features/improvements

@LukaszKontowski LukaszKontowski merged commit 1914525 into main May 31, 2022
@LukaszKontowski LukaszKontowski deleted the optimize_def_process_serializer_class branch May 31, 2022 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants