AtsushiSakai / AtsushiSakai/PythonRobotics
[Optimization] Speedup Cubic Spline Planner and Frenet Planner Execution
- Lenguaje dominante
- Python
- Estrellas
- 30.5k
- Forks
- 7.4k
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 3
Descripción
By introducing concurrent data-level parallelism in `calc_frenet_paths` and `calc_global_paths` functions, and by using vectorized instructions in `calc`, `calcd`, and `__search_index`, a major speedup is obtained. In my application, execution is up to 5 times faster.
Here are the changes: [cubic_spline_planner.py](https://github.com/mc-cat-tty/paav-assignments/blob/main/6-planning/cubic_spline_planner.py), [frenet_optimal_trajectory.py](https://github.com/mc-cat-tty/paav-assignments/blob/main/6-planning/frenet_optimal_trajectory.py).
[Here](https://github.com/mc-cat-tty/paav-assignments/blob/main/6-planning/results/(3)%20Report%20Planning.pdf) (just section "Preliminary Work: Parallelization") a detailed explanation of the changes and their impact on the execution time.
If @AtsushiSakai is interested in the changes, I am available to integrate them in this repository and perform some further testing.
Guía de contribución
Línea de trabajo
Revisa los cambios enlazados en cubic_spline_planner.py y frenet_optimal_trajectory.py, centrándote en calc_frenet_paths, calc_global_paths, calc, calcd y __search_index. Ejecuta los ejemplos de planificación o las pruebas existentes antes de comparar el tiempo de ejecución y el comportamiento. Se considera terminado cuando la implementación paralelizada y vectorizada está integrada sin cambiar los resultados del planner y se han medido mejoras de rendimiento.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- autonomous-driving, performance, robotics
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100