Optymalizacja działania pluginów poprzez parametry kompilacji

O parametrze -d0 kompilatora pisałem już raz przy omawianiu tematu dekompilacji ( http://darkgl.pl/index.php/2012/08/27/zabezpieczanie-pluginu-przed-dekompilacja/ )

Jednak tego parametru nie należy traktować jako stworzonego wyłącznie do tego aby zapobiegać dekompilacji jest to raczej przypadkowy efekt niż zamierzony skutek używania tego parametru.

W kompilatorze dostępne są 4 parametry -d*

-d0      no symbolic information, no run-time checks
-d1      [default] run-time checks, no symbolic information
-d2      full debug information and dynamic checking
-d3      full debug information, dynamic checking, no optimization

Standardowo ustawiony jest parametr -d1.

Przy parametrze d3 w kodzie wynikowym kompilacji nie są stosowane żadne optymalizacje , kod pluginu jest sprawdzany podczas wykonywania oraz w kodzie są dodane wszystkie informacje dla debuggera ( przydatna flaga kiedy nie do końca wiemy dlaczego plugin nie działa )

d2 jest podobny do d3 oprócz tego że stosowana jest optymalizacja dla kodu wynikowego

d1 nadal pozwala na debugowanie w czasie działania pluginu jednak nie zawiera informacji symbolicznych ( czym są te informacje zachęcam do przeczytania dokumentu „Pawn Implementer Guide” rodział „Debugging support” )

Przy d0 kod assemblerowy jest pozbawiany informacji potrzebnych do działania sprawdzania kodu pluginu „w locie” dzięki czemu jest on szybszy.

Warto stosować d0 jeśli chcemy mieć mniej obciążony serwer i optymalniejsze pluginy jednak stosujemy ten parametr tylko wtedy jeśli jesteśmy pewni że nasz plugin nie zawiera błędów.

Jak dodać -d0 do opcji kompilacji opisałem w tym wpisie http://darkgl.pl/index.php/2012/08/27/zabezpieczanie-pluginu-przed-dekompilacja/

2 komentarzy o “Optymalizacja działania pluginów poprzez parametry kompilacji

  1. Nigdy nie prowadziłem tego typu statystyk jednak jeśli oczekujsz że z źle napisanego pluginu otrzymasz nagle świetnie i szybko działający to na to bym nie liczył 😉

Dodaj komentarz