Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-07-05, 20:17


iNev.







Wiek: 24
Na forum: 3951 dni
Posty: 94
Nick w MP: iNev

Piwa: 953

Respekt: 180
Respekt: 180Respekt: 180

Witam,
TEN TEMAT JEST SKIEROWANY TYLKO DO OS?B ZAAWANSOWANYCH W LUA (nie chce wypowiedzi os?b, kt?re pisz? w LUA od miesi?ca i powiedz?, ?e mam i?? na wiki etc.).

Czy wie kto?, w jaki spos?b mam u?y? funkcji 'collectgarbage' w LUA oraz jakie argumenty ona przyjmuje? W domy?lnym zasobie 'admin' ona tam jest i ma argument '"collect"'.
Bardzo bym prosi? o szybk? odpowied?, gdy? pisz? do?? du?y gamemode i ta funkcja na pewno mi si? przyda.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-06, 01:04


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

http://luatut.com/collectgarbage.html
Tu jest to ?adnie wszystko wyja?nione. Mo?esz tym sprawdzi? na przyk?ad pami?? u?ywan? przez LUA.
Jest to narz?dzie g??wnie do usuwania zb?dnych nieu?ywanych zmiennych z warto?ci? nil. Tutaj przyk?ad
= {1,2,3}
nil
collectgarbage()

Mamy jak?? tabele, potem j? nadpisujemy nil'em, jednak ona miejsce w pami?ci nadal jakie? zachowuj?, wi?c po prostu czy?cimy pami??.

Jest to narz?dzie, kt?rego si? nie stosuj? w MTA. Owszem, mo?esz tym nieco zoptymalizowa? skrypt, ale naprawd? nieznacznie. My?l?, ?e nie warto zaprz?ta? sobie tym g?owy.

Z ciekawo?ci, zrobi?em test
= {1,2,3}
print(collectgarbage("count")*1024)
nil
print(collectgarbage("count")*1024)
collectgarbage()
print(collectgarbage("count")*1024)

A wyniki
36832.0
36936.0
27982.0

Mo?emy zaobserwowa?, ?e wi?cej pami?ci zosta?o wykorzystanej przez nil, ni? przez tabele z 3 warto?ciami.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-06, 11:26


iNev.







Wiek: 24
Na forum: 3951 dni
Posty: 94
Nick w MP: iNev

Piwa: 953

Respekt: 180
Respekt: 180Respekt: 180

Wielkie dzi?ki, teraz wida?, kto na tym forum jest serio osob? obeznan? w LUA, a nie "super skrypterem", kt?ry podmienia outputy w OGRPG :)

Do czego to jest to ja wiem, og?lnie mo?na tego u?ywa? przy triggerach etc.
Je?eli patrze?, to nie optymalizuje zbyt wiele, tylko troch?. Lecz je?eli pisz? du?y gamemode, to u?ycie tej funkcji w ka?dym wi?kszym zasobie na pewno znacznie zoptymalizuje serwer.

Mam rozumie?, ?e przy u?ywaniu tej funkcji nie musz? dodawa? ?adnych argument?w, a jak ju? to "collect", tak?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-06, 11:30


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Jak nie u?yjesz ?adnych argument?w to wyczy?cisz wszystko.

Postaw piwo autorowi tego posta
 

 
Tagi: collectgarbage
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Collectgarbage Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku