0 Members and 1 Guest are viewing this topic.
(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: testTime Taken to Run Method 1 : 6.359 secondsTime Taken to Run Method 2 : 6.907 secondsTime Taken to Run Method 3 : 3.906 seconds
Thanks Ron. I have calculated the time taken to run the three methods with following code :-Code: [Select].....Following is the output :-Time Taken to Run Method 1 : 3.682 secondsTime Taken to Run Method 2 : 3.525 secondsTime Taken to Run Method 3 : 6.349 secondsDoes it mean that dictsearch method is always slow ? Any comments ?
.....