(defun c:test ()
(vl-load-com)
(setq Start (getvar "Millisecs"))
(repeat 100000
(setq vlayoutobj
(vlax-invoke-method
(vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
"item"
"Model"
)
)
)
(setq End (getvar "Millisecs"))
(setq yu (- End Start))
(setq yu (/ yu 1000.00))
(princ "\nTime Taken to Run Method 1 : ")
(princ yu)
(princ " seconds \n")
(setq Start (getvar "Millisecs"))
(repeat 100000
(if (= 'vla-object
(type (setq o (vl-catch-all-apply
'vla-item
(list (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) "Model")
)
)
)
)
o
)
)
(setq End (getvar "Millisecs"))
(setq yu (- End Start))
(setq yu (/ yu 1000.00))
(princ "\nTime Taken to Run Method 2 : ")
(princ yu)
(princ " seconds \n")
(setq Start (getvar "Millisecs"))
(repeat 100000
(if (setq o (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_LAYOUT"))))
(cdr (assoc -1 (dictsearch o "Model")))
)
)
(setq End (getvar "Millisecs"))
(setq yu (- End Start))
(setq yu (/ yu 1000.00))
(princ "\nTime Taken to Run Method 3 : ")
(princ yu)
(princ " seconds \n")
(princ)
)
Any comments ?
Command: test
Time Taken to Run Method 1 : 6.359 seconds
Time Taken to Run Method 2 : 6.907 seconds
Time Taken to Run Method 3 : 3.906 seconds
Thanks Ron. I have calculated the time taken to run the three methods with following code :-When using Michael's benchmark, dictsearch is much faster...Code: [Select].....
Following is the output :-
Time Taken to Run Method 1 : 3.682 seconds
Time Taken to Run Method 2 : 3.525 seconds
Time Taken to Run Method 3 : 6.349 seconds
Does it mean that dictsearch method is always slow ? Any comments ?