-
Notifications
You must be signed in to change notification settings - Fork 102
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
Rationale about what to test for performance #278
Comments
As part of this analysis I've come up with a list of "categories" that could be used to "tag" each module/package under discussion if requires performance testing or not. This way, for some specific defined categories we can determine the desired tests and speed up the decision for other packages. Some proposed categories:
|
Please take a look and let me know if this rationale makes sense and how it can be improved to start writing the required tests for |
Based on above's categorization, and with a priori knowledge of how these APIs are often used, I'd start out with:
I'd also include Aside from that, a few minor comments:
Perhaps presenting this as a Markdown table may ease reading.
I'd rather not mention DDS here. RMWs are not necessarily DDS based.
Not sure what you mean here? |
These categories seem nice (with @hidmic's concerns addressed of course), I'm adopting them somewhat in my work on rclcpp. |
@Blast545 @chapulina does this PR and #288 still make sense? |
Even though we've already satisfied the requirements for quality level 1, more testing can't hurt. It looks like #288 is close to getting in, so I think it would be a shame to drop it. |
@chapulina @hidmic I just pushed in the branch to address the remaining comments, I'll try to push to merge that. Besides that, I think this issue can be closed. |
Took some time to check the
rcutils
submodules, here's a list of them and what I consider that should be tested for each of those in terms of performance:├──
allocator.h
I/O, allocation, runtime critical
├──
cmdline_parser.h
STABLE, not often used
├──
env.h
STABLE, I/O
├──
error_handling.h
STABLE, I/O, Allocation, runtime critical
├──
filesystem.h
STABLE, I/O
├──
find.h
STABLE, Algorithm
├──
format_string.h
Allocation, Critical runtime
├──
get_env.h
STABLE, I/O, conf code
├──
isalnum_no_locale.h
STABLE
├──
logging.h
Allocation, Critical runtime
├──
process.h
STABLE, IO, Allocation, not often used
├──
qsort.h
Algorithm
├──
repl_str.h
STABLE, Algorithm
├──
shared_library.h
IO, Conf code or critical runtime (?
├──
snprintf.h
STABLE, IO
├──
split.h
STABLE, Algorithm
├──
stdatomic_helper.h
STABLE, IO, Critical runtime
├──
strdup.h
Allocation
├──
strerror.h
STABLE, IO, Critical runtime
├──
time.h
IO
Custom defined primitives:
│ ├──
array_list.h
│ ├──
char_array.h
│ ├──
hash_map.h
│ ├──
string_array.h
│ ├──
string_map.h
│ └──
uint8_array.h
The text was updated successfully, but these errors were encountered: