-
Notifications
You must be signed in to change notification settings - Fork 695
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Bugprone Tick time monitoring #861
Comments
you are welcome to submit a PR to address this. |
Aglargil
pushed a commit
to Aglargil/BehaviorTree.CPP
that referenced
this issue
Sep 6, 2024
… for performance monitoring. (BehaviorTree#861)
#863 |
Aglargil
pushed a commit
to Aglargil/BehaviorTree.CPP
that referenced
this issue
Sep 6, 2024
… for performance monitoring. (BehaviorTree#861) Update src/tree_node.cpp Co-authored-by: Davide Faconti <davide.faconti@gmail.com>
Aglargil
pushed a commit
to Aglargil/BehaviorTree.CPP
that referenced
this issue
Sep 6, 2024
… for performance monitoring. (BehaviorTree#861) Update src/tree_node.cpp Co-authored-by: Davide Faconti <davide.faconti@gmail.com>
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Describe the bug
The time measurement of a tick is bug-prone.
BehaviorTree.CPP/src/tree_node.cpp
Lines 109 to 111 in 2a8a226
This way of measuring time can be reordered by the compiler and will result in a time difference of 0.
A good explanation of this issue can be found here:
Enforcing statement order in C++
The article also discusses a fix.
And I've also seen examples where they fix it with an atomic fence (which cost's no extra cylces)
https://stackoverflow.com/questions/22278963/how-to-prevent-timestamp-from-being-reorder-out
The text was updated successfully, but these errors were encountered: