Вечный вопрос :)
Для начала посмотри В чем зло VBA
Ну и от себя.При одном и том же алгоритме решения задачи код, написанный на VBA,конечно будет работать медленнее кода написанного на C++, Pascal,VB и т.п. Но при небольших объемах вычислений конечный пользователь может и не почувствовать разницы.Если AutoCAD будет использоваться только для графического представления результатов расчетов, то использовать VBA для написания всего кода программы скорее всего не стоит, но при этом возникнут проблемы передачи данных из одной системы в другую.
В любом случае чтобы более-менее точно определить время работы программы, ее все равно сначала придется написать.
Для оценки времени работы функции можно использовать следующий код:
Private Sub TestTime()
'К сожалению в VBA нет процедурного типа данных, а то было бы красиво:
'Sub TestTime(Proc as TProcedure, N as double)
Dim t As Date
Dim N As Long
Dim i As Long
'***ЧИСЛО ПОВТОРЕНИЙ***
N = 4000
t = Time
For i = 1 To N
'***ВЫПОЛНЯЕМЫЕ ПРОЦЕДУРЫ****
call testFunction
Next i
t = Time - t
Debug.Print "Time = " + CStr(t)
Debug.Print "n = " + CStr(N)
t = t * 24 * 60 * 60
If t <> 0 Then
Debug.Print "Speed,n/sec = " + CStr(N / t)
Else
Debug.Print "Undefined speed. Time = 0 sec"
End If
End Sub
Все, что написано на VBA(в силу его простоты и ограниченности), можно легко переписать почти на чем угодно, а вот обратно далеко не всегда.
Поэтому, если Вам удобно писать на VBA и Вы можете с его помощью решить свою задачу, то почему бы и нет.