アセンブラで命令数は減って
命令の依存関係にも気を使ったんですが
C++とほとんど時間は同じでした

たぶんメモリ帯域の問題と思います