Skip to content

Cleanup some Inefficiencies in JavaDateFormatter #84922

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

Conversation

original-brownbear
Copy link
Contributor

Fixes a couple of smaller inefficiencies that I found in profiling and otherwise.

  • Iteration over the parsers is faster if we just use an array.
  • Make some of the object construction more efficient since formats aren't always constants, like
    in e.g. the index name resolver and the short streams etc. are just needless allocations
  • Fix non-static initializer block running useless puts into the static mutable map on every instantiation
    • no need to even have the map, just inline what it does and save some code, indirection and the
      iteration over the mutable map

Fixes a couple of smaller inefficiencies that I found in profiling and otherwise.
* Iteration over the parsers is faster if we just use an array.
* Make some of the object construction more efficient since formats aren't always constants, like
in e.g. the index name resolver.
* Fix non-static initializer block running useless puts into the static mutable map on every instantiation
  * no need to even have the map, just inline what it does and save some code, indirection and the
iteration over the mutable map
@original-brownbear original-brownbear added :Core/Infra/Core Core issues without another label >refactoring v8.2.0 labels Mar 13, 2022
@elasticmachine elasticmachine added the Team:Core/Infra Meta label for core/infra team label Mar 13, 2022
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

Copy link
Contributor

@danhermann danhermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @original-brownbear! LGTM.

@rjernst rjernst self-requested a review March 14, 2022 13:08
Copy link
Member

@rjernst rjernst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM too

@original-brownbear
Copy link
Contributor Author

Thanks both!

@original-brownbear original-brownbear merged commit 7b215a1 into elastic:master Mar 15, 2022
@original-brownbear original-brownbear deleted the date-formatter-improvements branch March 15, 2022 06:44
pgomulka pushed a commit to pgomulka/elasticsearch that referenced this pull request Sep 5, 2022
Fixes a couple of smaller inefficiencies that I found in profiling and otherwise.
* Iteration over the parsers is faster if we just use an array.
* Make some of the object construction more efficient since formats aren't always constants, like
in e.g. the index name resolver.
* Fix non-static initializer block running useless puts into the static mutable map on every instantiation
  * no need to even have the map, just inline what it does and save some code, indirection and the
iteration over the mutable map
pgomulka added a commit that referenced this pull request Sep 5, 2022
Fixes a couple of smaller inefficiencies that I found in profiling and otherwise.

Iteration over the parsers is faster if we just use an array.
Make some of the object construction more efficient since formats aren't always constants, like
in e.g. the index name resolver.
Fix non-static initializer block running useless puts into the static mutable map on every instantiation
no need to even have the map, just inline what it does and save some code, indirection and the
iteration over the mutable map
backports #84922
@original-brownbear original-brownbear restored the date-formatter-improvements branch April 18, 2023 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label >refactoring Team:Core/Infra Meta label for core/infra team v7.17.7 v8.2.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants