Wątek zablokowany 2016-08-21 03:27 przez furious programming.

[Delphi] Optymalizacja i tablice

0

Zagadnienie z optymalizacji:

Czy lepiej jest zadeklarować tablicę:

Tablica : array of Word;

czy

Tablica : array [1..High(Word)] of Word;

wiedząc, że liczba elementów tablicy nie przekroczy High(Word)

(chodzi oczywiście o to które z tych rozwiązań zajmie mniej pamięci)--Jest jeszcze jeden błąd ... :)

------------Reklama-------------
Szukasz pomocy?
Najszybsza pomoc dostępna na IRC:
serwer: warszawa.ircnet.pl
sieć: POLNet
kanał: #4programmers.net lub #4programmers

0

nie wiem czy dobrze mówię ale:

Tablica : array of Word; - nie masz zdeklarowanej wielkości czyli jeszcze nic nie zajmuje - dopiero po użyciu setlength by cos zajmowalo

Tablica : array [1..High(Word)] of Word; - ta z gory ma juz ustalone jaki będzie początek a jaki koniec :) tylko trza miec ustawiony juz wczesniej (bo nie wiem co to) High(Word)

To moje przemyślenia :]

0

&gtTablica : array of Word; - nie masz zdeklarowanej wielkości czyli jeszcze nic nie zajmuje - dopiero po użyciu setlength by cos zajmowalo
&gt

A poza tym mozesz to po uzyciu zwolnic.--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
&gt&gtTablica : array of Word; - nie masz zdeklarowanej wielkości czyli jeszcze nic nie zajmuje - dopiero po użyciu setlength by cos zajmowalo
&gt&gt
&gt
&gtA poza tym mozesz to po uzyciu zwolnic.
&gt
Dzięki pq, dzięki Ziomber.

To High(Word) to jest największa wartość liczby Word czyli 65536.

Mam nadzieję, że pod względem szybkości nie bedzie to znacznie wolniejsze.--Jest jeszcze jeden błąd ... :)

------------Reklama-------------
Szukasz pomocy?
Najszybsza pomoc dostępna na IRC:
serwer: warszawa.ircnet.pl
sieć: POLNet
kanał: #4programmers.net lub #4programmers

0

Pięknym przykładem w tej materii jest Definicja klasy TList lub TStringList (nie pamiętam która dokładnie), mająca dokładnie taką wielkość jaka jest w danej chwili potrzebna. {hello} --Michał
TJS group

0

To jeszcze jedna uwaga dotyczaca tablic dynamicznych. Lepiej jest ustawiac ich rozmiar z zapasem a rzadko, niz czesto a dokladnie. Np jesli dodajemy pewna liczbe elementow do tablicy, to lepiej najpierw oszacowac ile zajmuja, powiekszyc tablice przez SetLength i potem dodawac, niz powiekszac tablice po jednej komorce, wpisac element, powiekszyc, wpisac itd...

Mam nadzieje Dryobates, ze problem z tablicami otwartymi przy przekazywaniu tablic jako parametrow jest Ci znany?--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
&gtMam nadzieje Dryobates, ze problem z tablicami otwartymi przy przekazywaniu tablic jako parametrow jest Ci znany?
&gt
To już przerabiałem :)
Gorzej jest z parametrami zwracanymi przez funkcje jako dynamicznie tablice. Ale właśnie się za to mam zamiar wziąć, więc zobaczę jak to będzie :) (przymusiłem się w końcu do skończenia projektu, który zacząłem 2 lata temu {wstyd} )--Jest jeszcze jeden błąd ... :)

------------Reklama-------------
Szukasz pomocy?
Najszybsza pomoc dostępna na IRC:
serwer: warszawa.ircnet.pl
sieć: POLNet
kanał: #4programmers.net lub #4programmers

1 użytkowników online, w tym zalogowanych: 0, gości: 1