uses
  IniFiles;type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
     fhashTable :THashedStringList;
     fTable:TStringList;
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}const C_Text= '我爱delphi,delphi真是好啊!';procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
     fhashTable :=THashedStringList.Create;
     fTable:=TStringList.Create;
     for i:=0 to 1000000 do
     begin
       fhashTable.Add(C_Text+inttostr(i) );
       fTable.Add(C_Text+inttostr(i) );
     end;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
  fhashTable.Free ;
  fTable.Free
end;procedure TForm1.Button1Click(Sender: TObject);
var
   t0,t1:Cardinal;
   i:integer;
   s:string;
begin
   t0:=GetTickCount;
   i:=fhashTable.IndexOf(C_Text+'60000');
   t1:= GetTickCount;
   if i>-1 then
   begin
     Label1.Caption:='fhashTable:'+ inttostr(t1-t0) ;
   end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
   t0,t1:Cardinal;
   i:integer;
   s:string;
begin
   t0:=GetTickCount;
   i:=fTable.IndexOf(C_Text+'60000');
   t1:= GetTickCount;
   if i>-1 then
   begin
     Label1.Caption:='fTable:'+ inttostr(t1-t0) ;
   end;
end;
end.
请问各位大侠,为什么THashedStringList比TStringList还要慢很多啊???不解中
本来想用THashedStringList提高一下速度,却发现比TStringList还要慢很多,真是意外啊!!!
难道delphi真是玩具吗?请各位大侠多多指教!!!
我的电脑测试结果:fhashTable:891
                  fTable:47惊人的对比