Skip to content
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

Benchmark for different ROS2 clients #261

Open
minggangw opened this issue Apr 3, 2018 · 5 comments
Open

Benchmark for different ROS2 clients #261

minggangw opened this issue Apr 3, 2018 · 5 comments
Labels
more-information-needed Further information is required question Further information is requested ready Work is about to start (Kanban column)

Comments

@minggangw
Copy link

Feature request

Feature description

We are developing rclnodejs, a Node.js client for ROS2. We want to add some Performance and Power (PnP) tests for the current rclcpp, rclpy and rclnodejs (may be more) clients, some cases have been designed here. But I don't think it is proper to put these codes in the repo of rclnodejs, does the community have any plan to hold the benchmark test on a specific repo? any suggestions? Thanks!

@dirk-thomas
Copy link
Member

Placing them in this repo sounds like a good option to me. As an alternative we could also create a new repository.

@dirk-thomas dirk-thomas added the question Further information is requested label Apr 3, 2018
@wjwwood
Copy link
Member

wjwwood commented Apr 3, 2018

Here or in a new repository is also good by me. The best option might be in this repository but in a new package, like test_performance or whatever you want to call it.

For organization, I'd recommend starting the package name or package names with test_ as that's a convention we use for things that do not need to be released. Also, it might be a good idea to split it up by package name, so that it's easy to only build rclnodejs performance tests or only rclcpp and rclnodejs performance tests by simply putting an AMENT_IGNORE in the other package's directory. As opposed to cmake options and optional dependencies. Though those are all just suggestions, others might disagree.

@minggangw
Copy link
Author

I agree that putting a package named test_clients_performance under this repo is reasonable, and the structure looks like:

├── test_clients_performance
     ├── test_rclcpp  -- package for C++ client
     ├── test_rclnodejs -- package for Python client
     └── test_rclpy -- package for Node.js client
     └── ...

The next step is how we define these performance tests (I have written some under rclnodejs repo), I suppose that all tests of the clients must follow the same strategy in order to compare the statistics. Do we have any references?

@dirk-thomas
Copy link
Member

The next step is how we define these performance tests (I have written some under rclnodejs repo), I suppose that all tests of the clients must follow the same strategy in order to compare the statistics. Do we have any references?

Since we don't have any performance tests at the moment there is no reference. I would suggest you propose something after checking what has been done in ROS 1 or similar projects in the past.

@minggangw
Copy link
Author

That' no problem, I will collaborate with our QA team to run the current PnP test designed for rclnodejs, and if the result can give some meaningful data, I will propose some then.

@mikaelarguedas mikaelarguedas added more-information-needed Further information is required ready Work is about to start (Kanban column) labels Apr 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
more-information-needed Further information is required question Further information is requested ready Work is about to start (Kanban column)
Projects
None yet
Development

No branches or pull requests

4 participants