CADsoft Forum | Forumas | Форум

Lietuviškai => LISP, DCL, Meniu, pritaikymas... => Topic started by: Vaidas on 2011-12-01, 11:43:09

Title: LISP variklio greitis
Post by: Vaidas on 2011-12-01, 11:43:09
Code: [Select]
(setq ci '(10000 100000))
(vl-load-com)

(defun inax:timer (/ s o)
  (if (not inax-s)
    (progn
      (setq s (getvar "DATE"))
      (setq o    ""
    inax-s (* 86400.0 (- s (fix s)))
      )
    )
    (progn
      (setq s (getvar "DATE"))
      (setq o    (rtos (- (* 86400.0 (- s (fix s))) inax-s) 2 8)
    inax-s nil
      )
    )
  )
  o
)


(princ (strcat "\n\n"
       (getvar "product")
       " "
       (getvar "acadver")
       "\n==========\n"
       )
)

(foreach c ci
  (princ (strcat (itoa c) " cycles: \n"))


  (inax:timer)
  (setq m (vla-get-modelspace
    (vla-get-ActiveDocument
      (vlax-get-acad-object)
    )
  )
  )
  (repeat c
    (vla-addcircle
      m
      (vlax-3d-point '(0 0))
      1
    )
  )
  (princ (strcat (inax:timer) " s\n"))

)

(textscr)
(princ)

Mano Intel(R) Core(TM) i7-2720QM CPU @ 2.20GHz rezultatai tokie:

Bricscad 18.0Bricscad
==========
10000 cycles:
0.37400723 s
100000 cycles:
3.68197560 s

AutoCAD 18.0s (LMS Tech)
==========
10000 cycles:
0.88899136 s
100000 cycles:
8.84601921 s
Title: Re: LISP variklio greitis
Post by: Vaidas on 2013-01-28, 08:50:26
Dar vienas testas: http://rakeshrao.typepad.com/work_smarter_geotools/2013/01/lisp-benchmarks-ac-bc-zc-nc.html