Improve nurbs surface fitting efficiency with Eigen sparse matrix solver#6379
Conversation
Compared to the existing Eigen dense solver, using the Eigen sparse solver significantly reduces solution time and memory usage, without relying on UMFPACK/SuiteSparse libraries that are based on the GPL open source license.
|
Thank you for your pull request. |
|
Efficiency test result of pcl::on_nurbs::FittingSurface:
Note of the table:
Sinces the time of sparse solve funtion is small, I think no need to compare to SuiteSparse solver. And I find there is no tests for on_nurbs in test/surface, I just test my commit by my own private application code. |
|
It works well with the nurbs fitting example and when run on the bun0.pcd (small cloud) the performance increase is still nice, from about 5 secs to about 800ms. |
|
@larshg Could it make sense to convert the nurbs fitting example to a test? Since the new sparse solver is used by default, I think it is important to have at least some kind of test to make sure it works correctly. |
|
The unittest from #6407 also passes with this new sparse solver. But we can merge the unittest first and then rebase this afterwards? |
|
@ZhuLingfeng1993 can you rebase this on main, thanks. |
Compared to the existing Eigen dense solver, using the Eigen sparse solver significantly reduces solution time and memory usage, without relying on UMFPACK/SuiteSparse libraries that are based on the GPL open source license.