⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmp.pas

📁 Delphi Generic Algorytms library - Maps, Lists, Hashmaps, Datastructures.
💻 PAS
字号:
unit tmp;

interface

implementation

(2006.10.12 DGL Profiler)

CPU: AMD Athlon(tm)64 3000+(1.81G)
Delphi7 Compile	

DGL lib=========================================================================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
TVector     0.010 us  0.008 us    0.102 us      34400.000 us      78000.000 us
TDeque      0.009 us  0.055 us    0.155 us      143800.000 us     0.010 us
TList       0.067 us  0.022 us    15310.000 us  0.073 us          0.053 us
	
IVector     0.014 us  0.018 us    0.156 us      34400.000 us      78200.000 us
IDeque      0.013 us  0.070 us    0.235 us      153000.000 us     0.016 us
IList       0.073 us  0.022 us    15160.000 us  0.078 us          0.056 us
	
Container:  Insert      Find        Next Visite
IMap        0.274 us    0.797 us    0.048 us
IMultiMap   0.298 us    0.899 us    0.067 us
ISet        0.272 us    0.805 us    0.044 us
IMultiSet   0.253 us    0.805 us    0.043 us
================================================================================

Delphi7=========================================================================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
array       0.168 us  0.006 us    0.086 us      40600.000 us      121800.000 us
TList       0.023 us  0.013 us    0.164 us      28000.000 us      65600.000 us
================================================================================

STL : VC6 Compile===============================================================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
vector      0.049 us  0.005 us    0.032 us      34400 us          68800 us
deque       0.013 us  0.016 us    0.055 us      212400 us         0.013 us
list        0.142 us  0.022 us    18800 us      0.161 us          0.159 us

Container:  Insert      Find        Next Visite
map         0.408 us    0.277 us    0.054 us
set         0.405 us    0.278 us    0.048 us
multimap    0.430 us    0.277 us    0.055 us
multiset    0.405 us    0.278 us    0.048 us

(SGI)STL : DEV-C++4.98 (GCC max optimize) Compile===============================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
vector      0.016 us  0.005 us    0.032 us      34400 us          56200 us
deque       0.012 us  0.008 us    0.133 us      875000 us         0.013 us
list        0.044 us  0.016 us    12400 us      0.052 us          0.036 us

Container:  Insert      Find        Next Visite
map         0.539 us    0.503 us    0.039 us
set         0.520 us    0.497 us    0.034 us
multimap    0.502 us    0.495 us    0.044 us
multiset    0.508 us    0.491 us    0.039 us

hash_map    0.149 us    0.056 us    0.046 us
hash_set    0.142 us    0.050 us    0.043 us
hash_multimap 0.142 us  0.058 us    0.046 us
hash_multiset 0.138 us  0.050 us    0.043 us
================================================================================



DCL lib=========================================================================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
TArrayList  0.019 us  0.029 us    0.164 us      25000.000 us      65600.000 us
TVector     0.014 us  0.025 us    0.164 us      25000.000 us      62400.000 us
TLinkedList 0.050 us  0.023 us    5780.000 us   0.056 us          0.086 us

Container:  Insert      Find        Next Visite
TBinaryTree 0.470 us    1.047 us    0.086 us
THashMap    0.422 us    0.788 us    0.084 us(copy Values to TArrayList,it is not ture test!)
THashSet    0.485 us    0.588 us    "Container.First" is O(N*N), is bad,can not test!

ps: THashXXX.Create()
    for I := 0 to FCapacity - 1 do
      SetLength(FBuckets[I].Entries, 64);) //is bad design, slow and waste memory!

ps: THashXXX   //is bad design for dynamic size

ps: TLinkedList.Clear() ERROR !!!
procedure TLinkedList.Clear;
  .....
  //ERROR , must add line:  FStart:=nil;
end;
================================================================================

DeCal lab=======================================================================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
DArray      0.206 us  0.184 us    0.305 us      53200.000 us      128000.000 us
DList       0.147 us  0.127 us    13109.000 us  0.167 us          0.141 us

Container:  Insert      Find        Next Visite
DSet        2.117 us    6.594 us    0.117 us
DMultiSet   2.000 us    5.532 us    0.117 us
DMap        1.961 us    4.969 us    0.115 us
DMultiMap   1.875 us    5.234 us    0.149 us

DHashSet    22.500 us   58.740 us   0.833 us
DMultiHashSet 0.372 us  5465.000 us 0.788 us
DHashMap      29.680 us 62.820 us   0.727 us
DMultiHashMap 0.681 us  2970.000 us 0.786 us
================================================================================

EZDSL lab=======================================================================
Container:  PushBack  Next Visite Random Visite Insert At Middle  PushFront
TEZCollection is maxsize is N=10922*92 for test! it is 	very small for test;
TEZCollection 0.078 us  0.077 us  6.233 us      0.388 us          0.588 us
TDList      0.175 us  0.028 us    7050.000 us   0.170 us          0.150 us
TLinkList   0.155 us  0.033 us    15650.000 us  0.167 us          0.147 us
	
Container:  Push        Pop
TQueue      0.139 us    0.150 us
TStack      0.142 us    0.145 us
	
Container:  Insert      Find        Next Visite
THashTable  7.580 us    1.720 us    (not find way to test!)
================================================================================





end.

⌨️ 快捷键说明

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