View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0025692||Community||OCCT:Modeling Algorithms||public||2015-01-08 20:18||2015-05-14 15:32|
|Reporter||Istvan Csanady||Assigned To||bugmaster|
|Target Version||6.9.0||Fixed in Version||6.9.0|
|Summary||0025692: Boolean operations minor improvement|
|Description||I was profiling boolean operations, and I have noticed, that a significant amount of time spent in IntPolyh_Point constructor. This is because IntPolyh_MaillageAffinage::TriContact creates lots of IntPolyh_Point objects. But these object creations can be moved after the 6 lines of 'if' instructions, reducing significantly the time spent in that constructor.|
Maybe this is specific only for some shape types, but anyway, this is a reasonable change (and very easy, and also can not cause any bugs).
I have attached the patch file.
|Steps To Reproduce||N/A|
|Tags||No tags attached.|
|Test case number||Not needed|
patch.diff (1,834 bytes)
Branch CR25692 has been created by abv.
Detailed log of new commits:
||The proposed change looks reasonable and safe, even if it does not show any change of performance of standard tests (at least, on Win 7 vc10 64-bit), now pushed to branch CR25692|
||No remarks, please test|
Branch CR25692 has been updated forcibly by apn.
Branch CR25692 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested in Release mode.
Number of compiler warnings:
occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Testing on Linux:
Total MEMORY difference: 370065012 / 369907280
Total CPU difference: 50068.01000000014 / 46828.580000000045
Testing on Windows:
Total MEMORY difference: 276556988 / 276837572
Total CPU difference: 35692.890625 / 39964.359375
There are not differences in images found by testdiff.
Branch CR25692 has been deleted by inv.
occt: master dba608bb
Committer: bugmaster Details Diff
|0025692: Boolean operations minor improvement
Method IntPolyh_MaillageAffinage::TriContact() improved so that local objects for detailed analysis are not created if algorithm exits by simple conditions checked at the beginning.
|mod - src/IntPolyh/IntPolyh_MaillageAffinage.cxx||Diff File|
|2015-01-08 20:18||Istvan Csanady||New Issue|
|2015-01-08 20:18||Istvan Csanady||Assigned To||=> msv|
|2015-01-08 20:18||Istvan Csanady||File Added: patch.diff|
|2015-01-18 23:21||git||Note Added: 0036182|
|2015-01-18 23:25||abv||Note Added: 0036183|
|2015-01-18 23:25||abv||Status||new => resolved|
|2015-01-18 23:25||abv||Steps to Reproduce Updated|
|2015-01-18 23:25||abv||Note Added: 0036184|
|2015-01-18 23:25||abv||Assigned To||msv => bugmaster|
|2015-01-18 23:25||abv||Status||resolved => reviewed|
|2015-01-22 13:47||apn||Test case number||=> Not needed|
|2015-01-22 13:47||apn||Assigned To||bugmaster => apn|
|2015-01-22 13:49||git||Note Added: 0036387|
|2015-01-23 19:33||apn||Note Added: 0036484|
|2015-01-23 19:34||apn||Assigned To||apn => bugmaster|
|2015-01-23 19:34||apn||Status||reviewed => tested|
|2015-01-30 14:00||bugmaster||Changeset attached||=> occt master dba608bb|
|2015-01-30 14:00||bugmaster||Status||tested => verified|
|2015-01-30 14:00||bugmaster||Resolution||open => fixed|
|2015-03-18 13:35||git||Note Added: 0038542|
||Status||verified => closed|
||Fixed in Version||=> 6.9.0|