-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 optimizationStandardowo 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/
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*
O ile zoptymalizuje plugin?
O parę procent czy może jest to znikoma liczba?
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ł 😉