Archived issue #0023753
Test case bugs modalg_2 bug19793_2 works too long on Linux platform
Description
Test case bugs modalg_2 bug19793_2 works too long on Linux platform in Release mode.
Steps to reproduce
restore [locate_data_file bug19793_new_shape.brep] b1
restore [locate_data_file bug19793_shape.brep] b2
bop b1 b2
restore [locate_data_file bug19793_shape.brep] b2
bop b1 b2
Additional information
class IntTools_ShrunkRange
method void IntTools_ShrunkRange::Perform()
Fix to avoid creation of small section edges.
method void IntTools_ShrunkRange::Perform()
Fix to avoid creation of small section edges.
Public activity
14 archived notes
Participants are labeled by their role within this record.
Please explain what is "too long" in this case. On my workstation (Windows 7 64-bit) it works ~ 1 min.
It seams that the problem is not reproduced in Release mode.
The results of the test in Release mode are the following:
WIN: TOTAL CPU TIME: 174.015625 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt/Windows-32-VC10/bugs/modalg_1/bug19793_2.html)
LIN: TOTAL CPU TIME: 251.64 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt/Debian60-64/bugs/modalg_1/bug19793_2.html)
As for Debug mode the test is killed by cpu limit on Linux platform:
WIN: TOTAL CPU TIME: 498.546875 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt-deb/Windows-32-VC10/bugs/modalg_1/bug19793_2.html)
LIN: Process killed by CPU limit (1000 sec) (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt-deb/Debian60-64/bugs/modalg_1/bug19793_2.html)
The results of the test in Release mode are the following:
WIN: TOTAL CPU TIME: 174.015625 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt/Windows-32-VC10/bugs/modalg_1/bug19793_2.html)
LIN: TOTAL CPU TIME: 251.64 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt/Debian60-64/bugs/modalg_1/bug19793_2.html)
As for Debug mode the test is killed by cpu limit on Linux platform:
WIN: TOTAL CPU TIME: 498.546875 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt-deb/Windows-32-VC10/bugs/modalg_1/bug19793_2.html)
LIN: Process killed by CPU limit (1000 sec) (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt-deb/Debian60-64/bugs/modalg_1/bug19793_2.html)
Have you tried to increase CPU limit on Linux Debug?
Dear mkv,
Could you please try to increase CPU limit for the case bugs modalg_1 bug19793_2 to make it work.
I have tried to perform the case on current master on the Linux platform and got the following results:
cpulimit 2000
dversion
Open CASCADE Technology 6.8.0.dev
Debug mode
TBB enabled (HAVE_TBB)
GL2PS enabled (HAVE_GL2PS)
FreeImage enabled (HAVE_FREEIMAGE)
OpenCL disabled
Exceptions enabled
Compiler: GCC 4.4.6
Architecture: AMD64
OS: CentOS release 6.3 (Final)
puts "Load first shape ..."
restore [locate_data_file bug19793_new_shape.brep] b1
puts "Load second shape ..."
restore [locate_data_file bug19793_shape.brep] b2
puts "Prepare boolean operation ..."
dchrono perf_h reset
dchrono perf_h start
bop b1 b2
dchrono perf_h stop
puts "Start boolean operation ..."
bopsection result
puts "Finish boolean operation ..."
dchrono perf_h show
Elapsed time: 0 Hours 17 Minutes 48.873527 Seconds f
CPU user time: 769.08 seconds
CPU system time: 0.77 seconds
Checking LINUX performance...
ERROR: OCC23753 is reproduced.
Low performance: 769.08
Could you please also check the performance of this case in the version OCCT 6.5.5. If the performance of the case in OCCT 6.5.5 is similar (or worse) to the performance in current version of OCCT then the issue can be closed.
Otherwise, the issue should be analyzed.
Could you please try to increase CPU limit for the case bugs modalg_1 bug19793_2 to make it work.
I have tried to perform the case on current master on the Linux platform and got the following results:
cpulimit 2000
dversion
Open CASCADE Technology 6.8.0.dev
Debug mode
TBB enabled (HAVE_TBB)
GL2PS enabled (HAVE_GL2PS)
FreeImage enabled (HAVE_FREEIMAGE)
OpenCL disabled
Exceptions enabled
Compiler: GCC 4.4.6
Architecture: AMD64
OS: CentOS release 6.3 (Final)
puts "Load first shape ..."
restore [locate_data_file bug19793_new_shape.brep] b1
puts "Load second shape ..."
restore [locate_data_file bug19793_shape.brep] b2
puts "Prepare boolean operation ..."
dchrono perf_h reset
dchrono perf_h start
bop b1 b2
dchrono perf_h stop
puts "Start boolean operation ..."
bopsection result
puts "Finish boolean operation ..."
dchrono perf_h show
Elapsed time: 0 Hours 17 Minutes 48.873527 Seconds f
CPU user time: 769.08 seconds
CPU system time: 0.77 seconds
Checking LINUX performance...
ERROR: OCC23753 is reproduced.
Low performance: 769.08
Could you please also check the performance of this case in the version OCCT 6.5.5. If the performance of the case in OCCT 6.5.5 is similar (or worse) to the performance in current version of OCCT then the issue can be closed.
Otherwise, the issue should be analyzed.
I wonder how you get such values of CPU... I have tested in two configurations, on my Windows machine (Intel Core i5-340 3.1 HGz, Windows 7 x64):
OCCT 6.5.0 vc8 win32 Release: 46 sec for "bop" command, somewhat ~ 1 min for the whole
current master vc10 win64 Release: 77 sec for test bugs modalg_1 bug19793_2, or 1:19 for the "bop" command, with very fast bsection (or bfuse)
That is, performance is slightly less than in OCCT 6.5, but this is explained by the fact that BOP have been completely redesigned in 6.6. and do more job now.
The test fails due to edge # 4 in the resulting section: it is extremely short (~ 1e-5) and has the same vertex at both ends, but is not degenerated. This problem is not present in OCCT 6.5, hence this (and not performance) looks like regression, to be addressed.
OCCT 6.5.0 vc8 win32 Release: 46 sec for "bop" command, somewhat ~ 1 min for the whole
current master vc10 win64 Release: 77 sec for test bugs modalg_1 bug19793_2, or 1:19 for the "bop" command, with very fast bsection (or bfuse)
That is, performance is slightly less than in OCCT 6.5, but this is explained by the fact that BOP have been completely redesigned in 6.6. and do more job now.
The test fails due to edge # 4 in the resulting section: it is extremely short (~ 1e-5) and has the same vertex at both ends, but is not degenerated. This problem is not present in OCCT 6.5, hence this (and not performance) looks like regression, to be addressed.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 1 18:58:54 2014 +0400
0023753: Test case bugs modalg_2 bug19793_2 works too long on Linux platform
class IntTools_ShrunkRange
method void IntTools_ShrunkRange::Perform()
Fix to avoid creation of small section edges.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 1 18:58:54 2014 +0400
0023753: Test case bugs modalg_2 bug19793_2 works too long on Linux platform
class IntTools_ShrunkRange
method void IntTools_ShrunkRange::Perform()
Fix to avoid creation of small section edges.
Git branch CR23753 is ready to be reviewed. It fixes the problem with small edge with only one vertex (see note above (0031924)).
Reviewed
Dear Commenter 1,
Branch CR23753 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 196 (196 on master)
products component :
Linux: 11 (11 on master)
Windows: 3 (3 on master)
Regressions/Differences:
http://occt-tests/CR23753-master-occt/Debian60-64/bugs/modalg_1/buc60462_2.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/bugs/modalg_1/buc60462_2.html
bugs modalg_1(006) buc60462_2: FAILED
Testing cases:
http://occt-tests/CR23753-master-occt/Debian60-64/bugs/modalg_1/bug19793_2.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/bugs/modalg_1/bug19793_2.html
bugs modalg_1(006) bug19793_2: FAILED
Testing on Linux:
occt component :
Total MEMORY difference: 396931232 / 397637712
Total CPU difference: 49533.66000000016 / 46582.94000000004
products component :
Total MEMORY difference: 120259364 / 121970780
Total CPU difference: 15179.129999999981 / 14605.669999999953
Testing on Windows:
occt component :
Total MEMORY difference: 279458568 / 279203028
Total CPU difference: 32998.953125 / 39375.25
products component :
Total MEMORY difference: 71000196 / 67277560
Total CPU difference: 11443.125 / 11304.765625
There are following differences in images found by testdiff.
http://occt-tests/CR23753-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
IMAGE boolean bopfuse_complex J6: J6.png differs
Branch CR23753 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 196 (196 on master)
products component :
Linux: 11 (11 on master)
Windows: 3 (3 on master)
Regressions/Differences:
http://occt-tests/CR23753-master-occt/Debian60-64/bugs/modalg_1/buc60462_2.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/bugs/modalg_1/buc60462_2.html
bugs modalg_1(006) buc60462_2: FAILED
Testing cases:
http://occt-tests/CR23753-master-occt/Debian60-64/bugs/modalg_1/bug19793_2.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/bugs/modalg_1/bug19793_2.html
bugs modalg_1(006) bug19793_2: FAILED
Testing on Linux:
occt component :
Total MEMORY difference: 396931232 / 397637712
Total CPU difference: 49533.66000000016 / 46582.94000000004
products component :
Total MEMORY difference: 120259364 / 121970780
Total CPU difference: 15179.129999999981 / 14605.669999999953
Testing on Windows:
occt component :
Total MEMORY difference: 279458568 / 279203028
Total CPU difference: 32998.953125 / 39375.25
products component :
Total MEMORY difference: 71000196 / 67277560
Total CPU difference: 11443.125 / 11304.765625
There are following differences in images found by testdiff.
http://occt-tests/CR23753-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
IMAGE boolean bopfuse_complex J6: J6.png differs
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Fri Oct 3 16:49:09 2014 +0400
Correction of test case for issue CR23753
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Fri Oct 3 16:49:09 2014 +0400
Correction of test case for issue CR23753
Dear MKV,
bugs modalg_1 buc60462_2: the case is the subject of the issue #0022033 (see note 0032911), please mark test case as TODO
bugs modalg_1 bug19793_2: please modify the test script with accordance to the current behavior
IMAGE boolean bopfuse_complex J6: the test case is marked as TODO
bugs modalg_1 buc60462_2: the case is the subject of the issue #0022033 (see note 0032911), please mark test case as TODO
bugs modalg_1 bug19793_2: please modify the test script with accordance to the current behavior
IMAGE boolean bopfuse_complex J6: the test case is marked as TODO
Dear Commenter 1,
Test cases
bugs modalg_1(006) buc60462_2, bug19793_2
are correted and now its are OK.
Test cases
bugs modalg_1(006) buc60462_2, bug19793_2
are correted and now its are OK.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Wed Oct 15 15:38:04 2014 +0400
Correction of test cases for issue CR23753
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Wed Oct 15 15:38:04 2014 +0400
Correction of test cases for issue CR23753
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]