Here is my attempt
(defun C:axcol (/ acapp adoc color pfs time)
(setq adoc (vla-get-activedocument
(setq acapp (vlax-get-acad-object)
)
)
)
(setq time (getvar "millisecs"))
(setq color (vla-getinterfaceobject acapp
(strcat "AutoCAD.AcCmColor." (itoa (atoi (getvar "acadver"))))))
(vla-put-colormethod color acColorMethodByACI)
(vla-put-colorindex color 251)
(setq pfs (vla-get-pickfirstselectionset adoc))
(vlax-invoke-method pfs 'Clear)
(vla-select pfs acselectionsetall)
(vlax-for a pfs
(vla-put-truecolor a color)
)
(vlax-release-object color)
(princ (strcat "\n<< ActiveX took: "
(rtos (/ (- (getvar "millisecs") time) 1000.) 2 4) " secs. >>"))
(setq time (getvar "millisecs"))
(princ)
)
Result:
11,000 circles first run
<< Full ActiveX took: 1.7350 secs. >>
11,000 circles second run
<< Full ActiveX took: 1.4840 secs. >>
11,000 points first run
<< Full ActiveX took: 1.0160 secs. >>
11,000 points second run
<< Full ActiveX took: 0.9220 secs. >>
~'J'~