Join Nostr
2026-10-29 01:25:24 UTC
in reply to

solo on Nostr: I ended up just copying in like 50 different files into godbolt given this ...

I ended up just copying in like 50 different files into godbolt

given this code:<code>PoseStamped test() {<br> const auto stamp = builtin_interfaces::build&lt;Time&gt;()<br> .sec(1337)<br> .nanosec(1234);<br><br><br> const auto header = std_msgs::build&lt;Header&gt;()<br> .stamp(stamp)<br> .frame_id("test");<br><br> const auto pose = geometry_msgs::build&lt;Pose&gt;()<br> .position(geometry_msgs::build&lt;Point&gt;().x(1).y(2).z(3))<br> .orientation(geometry_msgs::build&lt;Quaternion&gt;().x(1).y(2).z(3).w(4));<br><br> const auto pose_stamped = geometry_msgs::build&lt;PoseStamped&gt;()<br> .header(header)<br> .pose(pose);<br><br> return pose_stamped;<br>}<br></code>

it seems gcc optimizes it to smth decent, but clang struggles a lot more?

interestingly, using -std=c++17 seems to produce better machine code than -std=c++23?? (significantly fewer instructions. I have not benchmarked it)

https://godbolt.org/z/8G5z9fPs7