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

More performance optimizations #424

Merged
merged 2 commits into from
Apr 18, 2023
Merged

More performance optimizations #424

merged 2 commits into from
Apr 18, 2023

Conversation

dstepanov
Copy link
Contributor

  • Decode null checked moved to the object deserializer instead of duplicating it in every serde

@graemerocher
Copy link
Contributor

can you fix the check style failures?

@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 84 Code Smells

46.9% 46.9% Coverage
12.0% 12.0% Duplication

@dstepanov dstepanov merged commit bf26c84 into master Apr 18, 2023
@dstepanov dstepanov deleted the perf3 branch April 18, 2023 15:00
@dstepanov
Copy link
Contributor Author

Latest benchmark results:

Benchmark                                                              (stack)  Mode  Cnt      Score     Error  Units
JacksonBenchmark.decodeInputConstructor         JACKSON_DATABIND_INTROSPECTION  avgt   10    658.539 ±  12.213  ns/op
JacksonBenchmark.decodeInputConstructor            JACKSON_DATABIND_REFLECTION  avgt   10    652.019 ±  14.113  ns/op
JacksonBenchmark.decodeInputConstructor                          SERDE_JACKSON  avgt   10    640.835 ±  11.712  ns/op
JacksonBenchmark.decodeInputField               JACKSON_DATABIND_INTROSPECTION  avgt   10    611.000 ±  10.374  ns/op
JacksonBenchmark.decodeInputField                  JACKSON_DATABIND_REFLECTION  avgt   10    637.082 ±  12.594  ns/op
JacksonBenchmark.decodeInputField                                SERDE_JACKSON  avgt   10    622.414 ±  11.144  ns/op
JacksonBenchmark.decodeInputSetter              JACKSON_DATABIND_INTROSPECTION  avgt   10    624.539 ±   9.387  ns/op
JacksonBenchmark.decodeInputSetter                 JACKSON_DATABIND_REFLECTION  avgt   10    635.008 ±   8.142  ns/op
JacksonBenchmark.decodeInputSetter                               SERDE_JACKSON  avgt   10    625.817 ±  10.439  ns/op
JacksonBenchmark.decodeIntConstructor           JACKSON_DATABIND_INTROSPECTION  avgt   10    265.226 ±   3.582  ns/op
JacksonBenchmark.decodeIntConstructor              JACKSON_DATABIND_REFLECTION  avgt   10    258.540 ±   4.380  ns/op
JacksonBenchmark.decodeIntConstructor                            SERDE_JACKSON  avgt   10    211.158 ±   3.734  ns/op
JacksonBenchmark.decodeIntField                 JACKSON_DATABIND_INTROSPECTION  avgt   10    244.773 ±   5.051  ns/op
JacksonBenchmark.decodeIntField                    JACKSON_DATABIND_REFLECTION  avgt   10    247.139 ±   4.327  ns/op
JacksonBenchmark.decodeIntField                                  SERDE_JACKSON  avgt   10    197.053 ±   4.012  ns/op
JacksonBenchmark.decodeIntegerArrayConstructor  JACKSON_DATABIND_INTROSPECTION  avgt   10    357.928 ±  10.405  ns/op
JacksonBenchmark.decodeIntegerArrayConstructor     JACKSON_DATABIND_REFLECTION  avgt   10    352.131 ±   7.012  ns/op
JacksonBenchmark.decodeIntegerArrayConstructor                   SERDE_JACKSON  avgt   10    315.522 ±   4.954  ns/op
JacksonBenchmark.decodeIntegerArrayField        JACKSON_DATABIND_INTROSPECTION  avgt   10    338.774 ±   5.913  ns/op
JacksonBenchmark.decodeIntegerArrayField           JACKSON_DATABIND_REFLECTION  avgt   10    345.439 ±   7.986  ns/op
JacksonBenchmark.decodeIntegerArrayField                         SERDE_JACKSON  avgt   10    300.678 ±   5.389  ns/op
JacksonBenchmark.decodeIntegerConstructor       JACKSON_DATABIND_INTROSPECTION  avgt   10    273.088 ±   5.025  ns/op
JacksonBenchmark.decodeIntegerConstructor          JACKSON_DATABIND_REFLECTION  avgt   10    257.137 ±   6.441  ns/op
JacksonBenchmark.decodeIntegerConstructor                        SERDE_JACKSON  avgt   10    205.102 ±   3.314  ns/op
JacksonBenchmark.decodeIntegerField             JACKSON_DATABIND_INTROSPECTION  avgt   10    249.012 ±   5.436  ns/op
JacksonBenchmark.decodeIntegerField                JACKSON_DATABIND_REFLECTION  avgt   10    245.840 ±   7.466  ns/op
JacksonBenchmark.decodeIntegerField                              SERDE_JACKSON  avgt   10    201.953 ±   3.698  ns/op
JacksonBenchmark.decodeStringArrayConstructor   JACKSON_DATABIND_INTROSPECTION  avgt   10   1184.749 ±  16.260  ns/op
JacksonBenchmark.decodeStringArrayConstructor      JACKSON_DATABIND_REFLECTION  avgt   10   1183.301 ±  21.583  ns/op
JacksonBenchmark.decodeStringArrayConstructor                    SERDE_JACKSON  avgt   10   1186.317 ±  16.229  ns/op
JacksonBenchmark.decodeStringArrayField         JACKSON_DATABIND_INTROSPECTION  avgt   10    377.937 ±   4.899  ns/op
JacksonBenchmark.decodeStringArrayField            JACKSON_DATABIND_REFLECTION  avgt   10    385.791 ±   6.679  ns/op
JacksonBenchmark.decodeStringArrayField                          SERDE_JACKSON  avgt   10    352.497 ±   6.519  ns/op
JacksonBenchmark.decodeStringConstructor        JACKSON_DATABIND_INTROSPECTION  avgt   10    270.845 ±   3.288  ns/op
JacksonBenchmark.decodeStringConstructor           JACKSON_DATABIND_REFLECTION  avgt   10    268.115 ±   5.455  ns/op
JacksonBenchmark.decodeStringConstructor                         SERDE_JACKSON  avgt   10    219.434 ±   3.306  ns/op
JacksonBenchmark.decodeStringField              JACKSON_DATABIND_INTROSPECTION  avgt   10    260.627 ±   4.220  ns/op
JacksonBenchmark.decodeStringField                 JACKSON_DATABIND_REFLECTION  avgt   10    272.565 ±   5.197  ns/op
JacksonBenchmark.decodeStringField                               SERDE_JACKSON  avgt   10    211.481 ±   4.891  ns/op
JacksonBenchmark.decodeStringListConstructor    JACKSON_DATABIND_INTROSPECTION  avgt   10    374.924 ±   5.552  ns/op
JacksonBenchmark.decodeStringListConstructor       JACKSON_DATABIND_REFLECTION  avgt   10    370.448 ±  10.724  ns/op
JacksonBenchmark.decodeStringListConstructor                     SERDE_JACKSON  avgt   10    322.489 ±   3.769  ns/op
JacksonBenchmark.decodeStringListFieldBig       JACKSON_DATABIND_INTROSPECTION  avgt   10   1115.422 ±  13.926  ns/op
JacksonBenchmark.decodeStringListFieldBig          JACKSON_DATABIND_REFLECTION  avgt   10   1119.818 ±  13.611  ns/op
JacksonBenchmark.decodeStringListFieldBig                        SERDE_JACKSON  avgt   10   1148.022 ±  23.091  ns/op
JacksonBenchmark.decodeStringListFieldSmall     JACKSON_DATABIND_INTROSPECTION  avgt   10    355.410 ±   5.772  ns/op
JacksonBenchmark.decodeStringListFieldSmall        JACKSON_DATABIND_REFLECTION  avgt   10    362.032 ±   5.648  ns/op
JacksonBenchmark.decodeStringListFieldSmall                      SERDE_JACKSON  avgt   10    328.055 ±   4.640  ns/op
JacksonBenchmark.decodeUsers                    JACKSON_DATABIND_INTROSPECTION  avgt   10   8733.492 ± 129.738  ns/op
JacksonBenchmark.decodeUsers                       JACKSON_DATABIND_REFLECTION  avgt   10   8782.271 ± 123.281  ns/op
JacksonBenchmark.decodeUsers                                     SERDE_JACKSON  avgt   10  10224.912 ± 146.052  ns/op
JacksonBenchmark.decodeUsersNoArrays            JACKSON_DATABIND_INTROSPECTION  avgt   10   5945.760 ±  66.997  ns/op
JacksonBenchmark.decodeUsersNoArrays               JACKSON_DATABIND_REFLECTION  avgt   10   6068.738 ±  90.700  ns/op
JacksonBenchmark.decodeUsersNoArrays                             SERDE_JACKSON  avgt   10   6682.229 ±  74.190  ns/op

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants