mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0024596: Slow import of IGES data
Part 1: Speed up of import functionality. Correction in ShapeFix_IntersectionTool::FixIntersectingWires() - preliminary construction of ShapeAnalysis_Surface tool for the whole face; computation of 2d bounding boxes for edges and wires before intersection checking. Part 2: Speed up of check shape. Correction in BRepCheck_Face::IntersectWires() in the same way: preliminary computation of 2d boxes for edges and wires in order to reduce the number of calls of intersection tool for pair of wires. Test cases for issue CR24596
This commit is contained in:
65
tests/bugs/heal/bug24596_1
Executable file
65
tests/bugs/heal/bug24596_1
Executable file
@@ -0,0 +1,65 @@
|
||||
puts "============"
|
||||
puts "OCC24596"
|
||||
puts "============"
|
||||
puts ""
|
||||
###############################
|
||||
## Slow import of IGES data
|
||||
###############################
|
||||
|
||||
pload QAcommands
|
||||
|
||||
cpulimit 2000
|
||||
|
||||
if { [regexp {Debug mode} [dversion]] } {
|
||||
if { [regexp {Windows} [dversion]] } {
|
||||
set max_time 900
|
||||
set max_time2 500
|
||||
} else {
|
||||
set max_time 1200
|
||||
set max_time2 800
|
||||
}
|
||||
} else {
|
||||
if { [regexp {Windows} [dversion]] } {
|
||||
set max_time 900
|
||||
set max_time2 500
|
||||
} else {
|
||||
set max_time 1200
|
||||
set max_time2 800
|
||||
}
|
||||
}
|
||||
|
||||
# 1 - igesread
|
||||
dchrono h reset
|
||||
dchrono h start
|
||||
|
||||
igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] a 43479
|
||||
|
||||
dchrono h stop
|
||||
set q [dchrono h show]
|
||||
|
||||
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
|
||||
puts "$z"
|
||||
|
||||
if { $z > ${max_time} } {
|
||||
puts "Elapsed time of igesread is more than ${max_time} seconds - Faulty"
|
||||
} else {
|
||||
puts "Elapsed time of igesread is less than ${max_time} seconds - OK"
|
||||
}
|
||||
|
||||
# 2 - checkshape
|
||||
dchrono h2 reset
|
||||
dchrono h2 start
|
||||
|
||||
checkshape a_1
|
||||
|
||||
dchrono h2 stop
|
||||
set q2 [dchrono h2 show]
|
||||
|
||||
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
|
||||
puts "$z2"
|
||||
|
||||
if { $z2 > ${max_time2} } {
|
||||
puts "Elapsed time of checkshape is more than ${max_time2} seconds - Faulty"
|
||||
} else {
|
||||
puts "Elapsed time of checkshape is less than ${max_time2} seconds - OK"
|
||||
}
|
65
tests/bugs/heal/bug24596_2
Executable file
65
tests/bugs/heal/bug24596_2
Executable file
@@ -0,0 +1,65 @@
|
||||
puts "============"
|
||||
puts "OCC24596"
|
||||
puts "============"
|
||||
puts ""
|
||||
###############################
|
||||
## Slow import of IGES data
|
||||
###############################
|
||||
|
||||
pload QAcommands
|
||||
|
||||
cpulimit 2000
|
||||
|
||||
if { [regexp {Debug mode} [dversion]] } {
|
||||
if { [regexp {Windows} [dversion]] } {
|
||||
set max_time 900
|
||||
set max_time2 500
|
||||
} else {
|
||||
set max_time 1200
|
||||
set max_time2 800
|
||||
}
|
||||
} else {
|
||||
if { [regexp {Windows} [dversion]] } {
|
||||
set max_time 900
|
||||
set max_time2 500
|
||||
} else {
|
||||
set max_time 1200
|
||||
set max_time2 800
|
||||
}
|
||||
}
|
||||
|
||||
# 1 - igesread
|
||||
dchrono h reset
|
||||
dchrono h start
|
||||
|
||||
igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] b 86884
|
||||
|
||||
dchrono h stop
|
||||
set q [dchrono h show]
|
||||
|
||||
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
|
||||
puts "$z"
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
# 2 - checkshape
|
||||
dchrono h2 reset
|
||||
dchrono h2 start
|
||||
|
||||
checkshape b_1
|
||||
|
||||
dchrono h2 stop
|
||||
set q2 [dchrono h2 show]
|
||||
|
||||
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
|
||||
puts "$z2"
|
||||
|
||||
if { $z2 > ${max_time2} } {
|
||||
puts "Elapsed time of checkshape is more than ${max_time2} seconds - Faulty"
|
||||
} else {
|
||||
puts "Elapsed time of checkshape is less than ${max_time2} seconds - OK"
|
||||
}
|
Reference in New Issue
Block a user