--- /dev/null
+puts "=========="
+puts "0023979: Performance problem of STEP export for large files"
+puts "=========="
+puts ""
+
+cpulimit 100
+
+set n 100
+set m 100
+
+puts "Preparing compound of [expr $n * $m] prisms"
+
+autodisplay 0
+compound c
+chrono h restart
+for {set i 0} {$i < $n} {incr i} {
+ for {set j 0} {$j < $m} {incr j} {
+ set xbase [expr $i*10]
+ set ybase [expr $j*10]
+ set size 5
+ vertex v1 $xbase $ybase 0
+ vertex v2 [expr $xbase+$size] $ybase 0
+ vertex v3 [expr $xbase+0.5*$size] [expr $ybase+0.866*$size] 0
+ edge e1 v1 v2
+ edge e2 v2 v3
+ edge e3 v3 v1
+ wire w e1 e2 e3
+ mkplane f w
+ prism p f 0 0 10
+ add p c
+ }
+}
+chrono h stop counter "Constructing shape"
+
+meminfo
+
+puts "Converting data to STEP"
+newmodel
+chrono h restart
+stepwrite 0 c
+chrono h stop counter "Conversion to STEP"
+
+meminfo
+
+puts "Saving to file"
+chrono h restart
+set outfile ${imagedir}/bug23979.stp
+writeall $outfile
+chrono h stop counter "Saving file"
+
+puts "COUNTER File size (MiB): [expr [file size $outfile] / 1024 / 1024]"
+file delete -force $outfile
+
+meminfo
+
+puts "COUNTER Peak Page File Size (MiB): [expr [meminfo swappeak] / 1024 / 1024]"
+
+puts ""