1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-07-30 13:05:50 +03:00
occt/tests/bugs/modalg_5/bug24696
emv ce544c1225 0024696: Lower performance of the new Edge/Edge intersection algorithm
Performance improvements in IntTools_EdgeEdge algorithm:
1. Added check for common box between edges: if common box between edges is thin,
   find exact solutions at once, without looking for rough ranges first;
2. Improved methods IntTools_EdgeEdge::FindBestSolution() and
   IntTools_EdgeEdge::CheckCoincidence(...) by using method SplitRangeOnSegments
   with resolution of the curve as a criteria for size of the ranges.

Test cases for issue CR24696
2014-03-25 17:00:51 +04:00

44 lines
934 B
Plaintext

puts "========="
puts "OCC24696"
puts "========="
puts ""
###########################################################
# Lower performance of the new Edge/Edge intersection algorithm
###########################################################
pload QAcommands
dchrono h reset
dchrono h start
restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
bclearobjects
bcleartools
set edges [explode cx e]
set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
bfillds
bbuild result
dchrono h stop
set q [dchrono h show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
puts "$z"
if { [regexp {Windows} [dversion] ] } {
set max_time 20.0
} else {
set max_time 40.0
}
if { $z > ${max_time} } {
puts "Elapsed time is more than ${max_time} seconds - Faulty"
} else {
puts "Elapsed time is less than ${max_time} seconds - OK"
}
set 2dviewer 1