Nick писал(а) 22. Января 2008 :: 14:30:Phoenix писал(а) 22. Января 2008 :: 14:11:я не отрицаю, что это будет работать.
но в случае с 1С++ используется 1 шаг интерпретации. а если все базовые классы писать так и потом еще и выполнять их скрипты на этом же языке - думаю будет не оч.быстро.
не знаю как дела с этим у 2С. давно не видел этот проект, много лет.
Не понял какой один шаг? У меня все классы написаны на 1с методанных в понятии 1с там нет вообще
Имеется ввиду, что 1С++ объекты вызывают методы объектов реализованные непосредственно в машинном коде.
А если реализовывать объекты на встроенном языке, то алгоритм работы будет примерно таким:
1) Найти класс объекта в таблице классов
2) Найти метод по имени в таблице методов класса
3) Выполнить разбор параметров
4) Интерпретировать тело метода
5) Выполнить возврат
И всё это в режиме интерпретации.
Т.е. и получается двойная интерпретация:
Модуля документа и модуля класса
==
Теоретически это мало отличается от вызова процедуры/функции на встроенном языке, но в этом случае не осуществляется поиск класса, т.к. процедура/функция либо в текущем модуле, либо глобальная.
Затраты на поиск и разбор методов класса и будут "узким местом" такого решения.