Moja aplikacja intensywnie korzysta z TList, więc zastanawiałem się, czy istnieją jakieś alternatywne implementacje, które są szybsze lub zoptymalizowane dla konkretnego przypadku użycia.Czy jest szybsza implementacja TList?
Znam o RtlVCLOptimize.pas 2.77, który ma zoptymalizowane implementacje kilku metod TList.
Ale chciałbym wiedzieć, czy jest tam coś jeszcze. Nie wymagam też, aby był to potomek TList, potrzebuję tylko funkcji TList, niezależnie od tego, w jaki sposób jest ona zaimplementowana.
Jest całkiem możliwe, biorąc pod uwagę raczej podstawowe funkcje TList, że nie ma wiele miejsca na ulepszenia, ale nadal chcielibyśmy to sprawdzić, stąd to pytanie.
edytuj: W moim przypadku użycia nie są sortowane żadne listy. Istnieje wiele list z wieloma różnymi elementami. Wymieniłem TList z moją własną klasą, aby rejestrować liczbę połączeń Dodaj/Usuń i liczbę elementów. Zgłasza (toatal dla wszystkich list):
ListAdd = 15766012; ListRemove = 10630000; ListCount = 5136012
Mogę również dowiedzieć się, jaka jest najwyższa liczba elementów na jednej liście.
Nie mam żadnego szczególnego problemu. Zastanawiam się tylko, czy istnieje sposób, aby przyspieszyć jego działanie, ponieważ z tymi liczbami wynikałoby nawet małe ulepszenie.
Ile pozycji, posortowanych lub nie, i jakie są Twoje szczególne problemy? czyli zbyt wolno z 10 000 wierszy? –
Czy używasz innych metod niż dodawanie, usuwanie i liczenie? – Harriv
Jaką wersję Delphi używasz, BTW? –