JuliaCon 2020 (times are in UTC)

Adventures in Avoiding Allocations
07-30, 16:30–16:40 (UTC), Green Track

Lessons learned while achieving a 100x speedup of TrajectoryOptimization.jl by eliminating allocations.


Memory allocations can have a significant impact on run-time performance. My research focuses on developing state-of-the-art optimization solvers for doing real-time motion planning on nonlinear robotic systems, where run-time consistency is critical. This talk will discuss some practical considerations of writing non-allocating code in Julia, in the context of TrajectoryOptimization.jl, where we leveraged several techniques to achieve a 100x improvement in speed on many problems. This talk will include tips, tricks, and insights on how to avoid memory allocations and boost performance, as well as some discussion about the shortcomings of Julia with regards to memory management.

Currently a PhD student in Mechanical Engineering at Stanford University, my research focuses on developing state-of-the-art algorithms for doing real-time motion planning for nonlinear robotic systems. I started using Julia a little under 2 years ago and am the primary developer of TrajectoryOptimization.jl.