Skip to content

Small performance improvements to %s formatted strings.#459

Merged
purple4reina merged 2 commits intomainfrom
rey.abolofia/percent-s
Apr 1, 2024
Merged

Small performance improvements to %s formatted strings.#459
purple4reina merged 2 commits intomainfrom
rey.abolofia/percent-s

Conversation

@purple4reina
Copy link
Copy Markdown
Contributor

What does this PR do?

Replace all uses of % string interpolation.

Motivation

$ python -m timeit -s 'import logging ; logger = logging.getLogger(__name__) ; world = "world"' 'logger.debug("hello %s", world)'
5000000 loops, best of 5: 78 nsec per loop
$ python -m timeit -s 'import logging ; logger = logging.getLogger(__name__) ; world = "world"' 'logger.debug(f"hello {world}")'
5000000 loops, best of 5: 97.8 nsec per loop

If the log level is set higher than the log message being produced, it is actually faster to use a %s type string than an f string.

Testing Guidelines

Additional Notes

Types of Changes

  • Bug fix
  • New feature
  • Breaking change
  • Misc (docs, refactoring, dependency upgrade, etc.)

Check all that apply

  • This PR's description is comprehensive
  • This PR contains breaking changes that are documented in the description
  • This PR introduces new APIs or parameters that are documented and unlikely to change in the foreseeable future
  • This PR impacts documentation, and it has been updated (or a ticket has been logged)
  • This PR's changes are covered by the automated tests
  • This PR collects user input/sensitive content into Datadog
  • This PR passes the integration tests (ask a Datadog member to run the tests)

@purple4reina purple4reina requested a review from a team as a code owner April 1, 2024 16:35
@duncanista duncanista self-requested a review April 1, 2024 17:09
@duncanista
Copy link
Copy Markdown
Contributor

LGTM – let's run the linter and then merge!

@purple4reina purple4reina merged commit 4cfcf7e into main Apr 1, 2024
@purple4reina purple4reina deleted the rey.abolofia/percent-s branch April 1, 2024 18:15
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