-
Notifications
You must be signed in to change notification settings - Fork 19
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
Various performance improvements #224
Draft
hikinggrass
wants to merge
41
commits into
main
Choose a base branch
from
feature/performance-improvements
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
0962fe3
Add performance checks to clang-tidy config
hikinggrass 3f76a88
Log module startup time for JavaScript and Python modules as well
hikinggrass 2b17dfb
Use const ref for a few more variables and parameters
hikinggrass f5d4333
Remove serialize function from config
hikinggrass 9d4da56
Refactor schema loading and validation
hikinggrass 9d5496c
Ad some moves that clang-tidy suggested
hikinggrass a93bdfa
Directly pass the active_modules part of a config to the parse function
hikinggrass c74055b
Improve yaml file loading performance by reserving the appropriate am…
hikinggrass b8385de
Log the number of modules started
hikinggrass 0bc601b
Fix narrowing conversion warning in yaml error handler by claming max…
hikinggrass bb1c2de
Fix widening conversion warning by multiplying two std::size_t already
hikinggrass 0acb24f
Bump version to 0.19.2
hikinggrass 9ddb9ce
Only publish module_names (a mapping of module type to id) once and r…
hikinggrass d40f7c3
Publish manifest individually
hikinggrass dbd4dc2
async get() function for MQTT used in get_module_config
hikinggrass 1077b00
Fix everestjs config parsing with new config entry format
hikinggrass 250ee4a
Capturing more vars as refs
hikinggrass 5551fed
Log which topic cause a timeout exception in get()
hikinggrass c2f2f60
Use get_with_timeout in get_module_config
hikinggrass b96933b
Fix usage of MQTTSettings uses socket in manager
hikinggrass e6bf11c
Use get_module_name instead of get_module_info if only the module nam…
hikinggrass 5d63f80
More const ref usage
hikinggrass 04ec269
Re-order config handler in manager
hikinggrass 4b6d16e
everestpy: initialize logging in module ctor not RuntimeSession
hikinggrass ed5152e
everestpy: add new RuntimeSession ctor that accepts MQTTSettings and …
hikinggrass 30cf7e2
everestpy: add short documentation comments and deprecated RuntimeSes…
hikinggrass 9a90570
More constref and move usage
hikinggrass c4737e3
Add --retain-topics flag to manager to keep retained topics after sta…
hikinggrass 61603c9
Remove old cleanup_retained_topics functions since this is now provid…
hikinggrass 6c19fb4
clang-format
hikinggrass 6405e8e
Erase MessageHandler for topics without any registered handlers
hikinggrass 7c539ac
Use .at() instead of [] for map access
hikinggrass 1e4f79e
Exit early with EXIT_FAILURE if there are no modules to start
hikinggrass 64e9ae2
Merge remote-tracking branch 'origin/main' into feature/performance-i…
hikinggrass 9b68f6d
Make logged duration of get_module_config less verbose
hikinggrass abad2b8
Remove redundant unique_ptrs in Validators struct
hikinggrass 3814cdd
Turn load_schema and load_schemas into free functions
hikinggrass ad1ecda
Move get and get_async from MQTTAbstraction to module config since it…
hikinggrass 96835c0
load_schema and load_schemas: clang-format
hikinggrass b42680a
Revert to old file loading code for redability reasons
hikinggrass 560c5ab
Merge remote-tracking branch 'origin/main' into feature/performance-i…
hikinggrass File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking a the class
json_schema::json_validator
, it already only contains aunique_ptr
. So you don't need to put it into aunique_ptr
again. Just use it as a regular value type andstd::move
it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done