testsharemem.dpr

来自「Sharemem replacement for Delphi. Fast, 」· DPR 代码 · 共 51 行

DPR
51
字号
program TestShareMem;

{$APPTYPE CONSOLE}

uses
  ShareMemRep,
  Windows;

function AllocSpeedTest : LongWord;
  external 'TestDll.dll';
function SequentialAllocTest : LongWord;
  external 'TestDll.dll';
function ThreadAllocTest : LongWord;
  external 'TestDll.dll';

function MemMgrIsMultiThread : Boolean;
var
  _IsMultiThread : ^Boolean;
begin
  _IsMultiThread := GetProcAddress(GetMemMgrModule, 'IsMultiThread');
  Result := _IsMultiThread^;
end;

(* next function for ShareMemRep 1.52 only.
function MemMgrIsMultiThread : Boolean;
var
  _IsMultiThread : function : pointer;
begin
  _IsMultiThread := GetProcAddress(GetMemMgrModule, 'IsMultiThread');
  Result := Boolean(_IsMultiThread^);
end;
*)

begin
  Writeln('Allocate 1000 random blocks of (4097 .. 10000) bytes 1000 times');
  Writeln('Time: ', AllocSpeedTest, ' ms, ok.');
  Writeln;

  Writeln('Sequentially Allocate 10 times. IsMultiThread: ', MemMgrIsMultiThread);
  Writeln('Time: ', SequentialAllocTest, ' ms, ok.');
  Writeln;

  Writeln('10 Threads Allocated');
  Writeln('Time: ', ThreadAllocTest, ' ms, ok.');
  Writeln;

  Writeln('Sequentially Allocate 10 times. IsMultiThread: ', MemMgrIsMultiThread);
  Writeln('Time: ', SequentialAllocTest, ' ms, ok.');

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?