TAB STRIP with IMAGE LIST that does
NOT contain IMAGES (tt-tab-strip-0)
number of repetitions : 5000
average list MIN : 156
average list MAX : 180
AVERAGE of AVERAGES : 170.500
AVERAGE LIST : (
156 159 158 160 158 159 160 160 163 165 167 165 166 162 166 166 168 167 169 168 170 169 174 172 172 170 171 172 175 175 172 175 176 175 175 176 178 177 178 178 176
179 180 178 176 179 179 179 179 178)
TAB STRIP with IMAGE LIST
that contains IMAGES (tt-tab-strip-1)
number of repetitions : 5000
average list MIN : 207
average list MAX : 237
AVERAGE of AVERAGES : 223.100
AVERAGE LIST : (
209 207 207 212 208 212 210 211 217 213 213 216 216 216 218 220 221 221 219 226 222 223 226 224 223 226 227 227 226 228 225 228 228 227 231 229 228 228 230 232 229 230
233 234 234 237 232 234 233 229)
5000+5000 tests without a crash !
But however
there is a little problem with TAB STRIP too !
(every number of the average list represents the average of elapsed time of 100 tests)
; (setq #tt-prj "tt-text-box")
(setq #tt-prj "tt-tab-strip-0")
; (setq #tt-prj "tt-tab-strip-1")
; (progn (dcl-project-load #tt-prj t) (dcl-form-show #tt-prj "form") )
(defun :LST-NUM-AVERAGE (l) (/ (apply '+ l) (float (length l) ) ) )
; - - - - -
(defun :DCL-TIME-TEST ( rep-no / average elapsed-time elapsed-time-lst start )
; -
(defun :DCL-TIME-TEST-SUB ()
(defun C:DCL-TIME-TEST/FORM#ONTIMER (/) (dcl-form-close #tt-prj "form") )
(defun C:DCL-TIME-TEST/FORM#ONINITIALIZE (/) (dcl-Form-StartTimer #tt-prj "form" 10) )
(dcl-project-load #tt-prj t)
(dcl-form-show #tt-prj "form")
)
; -
(repeat rep-no
(setq start (getvar "millisecs") )
(:DCL-TIME-TEST-SUB)
(setq elapsed-time (- (getvar "millisecs") start) )
(setq elapsed-time-lst (append elapsed-time-lst (list elapsed-time ) ) )
)
(setq average (/ (apply '+ elapsed-time-lst) (length elapsed-time-lst) ) )
(princ (strcat "\n average : " (itoa average) ) ) (princ)
average
)
; - - - - -
(defun :DCL-TIME-TEST-100 () (:DCL-TIME-TEST 100 ) )
; - - - - -
(defun C:TT-100 () (:DCL-TIME-TEST-100) )
; - - - - -
(defun C:TT-5000 ( / average average-lst count)
(setq count 0)
(repeat 50
(setq count (+ 1 count) )
(setq average (:DCL-TIME-TEST-100) )
(princ (strcat "\nnumber of repetitions so far : " (itoa (* count 100) ) ) ) (princ)
(setq average-lst (append average-lst (list average ) ) )
)
(princ "\nnumber of repetitions : 5000") (princ)
(princ (strcat "\n average list MIN : " (itoa (apply 'min average-lst) ) ) ) (princ)
(princ (strcat "\n average list MAX : " (itoa (apply 'max average-lst) ) ) ) (princ)
(princ (strcat "\n AVERAGE of AVERAGES : " (rtos (:LST-NUM-AVERAGE average-lst) 2 3) ) ) (princ)
(princ (strcat "\n AVERAGE LIST : " (vl-prin1-to-string average-lst) ) ) (princ)
)