-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
nice to haveNot very strictly needed for ASH to be usableNot very strictly needed for ASH to be usableperformance
Description
Time measurement of compilation phases on Hydra (commercial) project, with -Ystatistics flag:
[info] parser : 1 spans, ()473.728ms (0.2%)
[info] namer : 1 spans, ()118.276ms (0.0%)
[info] packageobjects : 1 spans, ()1.863ms (0.0%)
[info] typer : 1 spans, ()124027.494ms (52.1%)
[info] semanticdb-typer : 1 spans, ()10044.861ms (4.2%)
[info] dump-persistence-schema : 1 spans, ()844.721ms (0.4%)
[info] superaccessors : 1 spans, ()353.506ms (0.1%)
[info] extmethods : 1 spans, ()74.814ms (0.0%)
[info] pickler : 1 spans, ()150.427ms (0.1%)
[info] xsbt-api : 1 spans, ()1645.657ms (0.7%)
[info] xsbt-dependency : 1 spans, ()1767.425ms (0.7%)
[info] refchecks : 1 spans, ()7264.879ms (3.1%)
[info] codec-registration-class-sweep: 1 spans, ()129.464ms (0.1%)
[info] patmat : 1 spans, ()11113.825ms (4.7%)
[info] serializability-checker : 1 spans, ()662.502ms (0.3%)
[info] codec-registration-serializer-check: 1 spans, ()38826.128ms (16.3%)
[info] uncurry : 1 spans, ()7006.531ms (2.9%)
[info] fields : 1 spans, ()5867.108ms (2.5%)
[info] tailcalls : 1 spans, ()352.656ms (0.1%)
[info] specialize : 1 spans, ()954.033ms (0.4%)
[info] explicitouter : 1 spans, ()1027.995ms (0.4%)
[info] erasure : 1 spans, ()10823.126ms (4.6%)
[info] posterasure : 1 spans, ()684.086ms (0.3%)
[info] lambdalift : 1 spans, ()1444.621ms (0.6%)
[info] constructors : 1 spans, ()496.269ms (0.2%)
[info] flatten : 1 spans, ()535.716ms (0.2%)
[info] mixin : 1 spans, ()675.139ms (0.3%)
[info] cleanup : 1 spans, ()589.357ms (0.2%)
[info] delambdafy : 1 spans, ()1370.026ms (0.6%)
[info] jvm : 1 spans, ()8177.186ms (3.4%)
[info] semanticdb-jvm : 1 spans, ()13.902ms (0.0%)
[info] xsbt-analyzer : 1 spans, ()168.936ms (0.1%)
or just including the phases added by ash:
[info] dump-persistence-schema : 1 spans, ()844.721ms (0.4%)
[info] codec-registration-class-sweep: 1 spans, ()129.464ms (0.1%)
[info] serializability-checker : 1 spans, ()662.502ms (0.3%)
[info] codec-registration-serializer-check: 1 spans, ()38826.128ms (16.3%)
To be researched what specifically in org.virtuslab.ash.SerializerCheckCompilerPluginComponent#newPhase makes it so slow...
probably b/c it checks for every combination of types discovered in the @Serializer-annotated class and the types detected in the preceding codec-registration-class-sweep phase
Metadata
Metadata
Assignees
Labels
nice to haveNot very strictly needed for ASH to be usableNot very strictly needed for ASH to be usableperformance