I did some testing on a medium sized file (34k lines, 114k words, 608k characters) containing 6k namespace declarations. Profiling indeed gave me back around 30 seconds of wasted time.
Each sample counts as 0.01 seconds.
% cumulative self
time seconds seconds calls name
39.96 5.95 5.95 6000 RewriteIdentify::rewrite_decl_namespace(...
24.48 9.60 3.65 42009 std::_Rb_tree...::_M_erase(...
13.77 11.65 2.05 6001 std::_Rb_tree_node...::_M_copy...
13.40 13.64 2.00 60883594 std::__shared_ptr..
4.37 14.29 0.65 63833779 std::_Sp_counted_base...::_M_release()
2.65 14.69 0.40 62664103 std::vector...::vector...
Which, well, won't do, two orders off. Time to refactor this for performance now, which probably means a bit of a dirty solution. I'll take a day or two for this.
No comments:
Post a Comment