Re: Ускоренная обработка данных типа Variant в Delphi
От: Аноним  
Дата: 22.03.05 04:06
Оценка: +1
MG>Статья:
MG>Ускоренная обработка данных типа Variant в Delphi
Автор(ы): Maksim Gumerov
Дата: 18.03.2005
На примере ускорения обработки данных типа Variant в Delphi автор рассматривает более широкую проблему ускорения динамической диспетчеризации вызовов в статически типизированных языках.


MG>Аннотация:

MG>На примере ускорения обработки данных типа Variant в Delphi автор рассматривает более широкую проблему ускорения динамической диспетчеризации вызовов в статически типизированных языках.

В чем смысл усложнения простого решения проблемы ?
Если автор статьи предполагает некую информированность о постоянстве типов обрабатываемых Variant'ов, то какой смысл подменять вызовы операций для обработки ? Не проще ли перенести данные в локальные переменные (возможно, сгруппированные в цельный логически обоснованный объект) и пользоваться ими, а потом вернуть их обратно в варианты ? Опять же предлагаемый метод иллюстрации подмены операции сложения удачен был бы для языка с возможностью перегрузки операций (C++), в статье же выглядит крайне неуклюже. Проще было бы ввести наподобие :

TVarBoost....
IntPtr: Pointer;
function GetAsInt:Integer;
procedure SetAsInt(v:Integer);
public
property IntVal:Integer read GetAsInt write SetAsInt;
...
end;

function TForm1.GetAsInt():Integer;
begin
Result:=Integer(IntPtr^);
end;

procedure TForm1.SetAsInt(p:Integer);
begin
Integer(IntPtr^):=p;
end;

Да и вообще новизны в статье, увы, немного. Графоманство какое-то
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.