Skocz do zawartości

ds_list a duza ilosc danych


TO_mek

Rekomendowane odpowiedzi

Witam!

Wrzucam do ds_list z pliku txt poszczegolne wyrazy. Obecnie czytam niewielkie pliki txt ale docelowo chce umożliwić wrzucanie dowolnie długiego tekstu (np. cała książka w txt). Jakie ograniczenia posiada ds_list co do wielkosci tzn. zalezy to wylacznie od ilosci pamieci czy sa jakies inne ograniczenia?

Odnośnik do komentarza
Udostępnij na innych stronach

Takich rzeczy nie rób w GM tylko w np. w C czy C++. Skrypt PHP też da radę. GM może nie dać sobie z tym rady.

 

 

Przetestowałem na 6ciu ksiazkach txt polaczonych w jeden plik (3,62MB ok 615 tysięcy wyrazów). Odczyt pliku i podział tekstu na pojedyncze wyrazy trwa mniej wiecej ok 12 sek. Nic sie nie wywala, proces w pamięci zajmuje po wczytaniu tekstu o jakies 23MB pamięci więcej niż przed zaczytaniem. Prędkość operacji na ds_listach są wystarczająco szybkie aby wyswietlac poszczegolne wyrazy z predkoscią 500 wyrazw na minutę na ekranie a mało kto jest w stanie czytać z taką prędkością :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Tablica ma ograniczenie z tego powodu, że w pamięci przechowywana jest jako szereg komórek. Czyli tablica o rozmiarze n=10 zajmie w pamięci 10 kolejnych miejsc. System nie zawsze może znaleźć wystarczającą ilość wolnego miejsca i to sprawia, że mamy ograniczenia dla tablic. Najbezpieczniejszy rozmiar tablicy to coś koło 10^6.

 

Listy wyglądają tak, że kolejne jej elementy trzymają się za rączki :D. Mamy element oraz wskaźnik na następny element tej listy, który może być w dowolnym miejscu w pamięci. Dlatego ograniczeniem dla list jest wyłącznie ilość pamięci jaką posiadamy.

 

@down: Luzik, porównałem tylko zwykłą tablicę, a listę.

Odnośnik do komentarza
Udostępnij na innych stronach

Tablica ma ograniczenie z tego powodu, że w pamięci przechowywana jest jako szereg komórek. Czyli tablica o rozmiarze n=10 zajmie w pamięci 10 kolejnych miejsc. System nie zawsze może znaleźć wystarczającą ilość wolnego miejsca i to sprawia, że mamy ograniczenia dla tablic. Najbezpieczniejszy rozmiar tablicy to coś koło 10^6.

Dynamiczne tablice również istnieją w środowisku kolego. Może zmieni się to w GM:S (Jak już się nie zmieniło).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...