Skocz do zawartości
  • 0

Jak napisać optymalnie plugin!


niemamnazwy

Pytanie

Witam, pisze plugin i chce aby był on bardzo optymalny ponieważ idzie na mój serwer. Na co zwracać uwagę? taski? metody? proszę o jak najwięcej rzeczy który można napisać optymalnie a każdy pisze je nie optymalnie...

Edytowane przez niemamnazwy
Odnośnik do komentarza
Udostępnij na innych stronach

14 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
8 godzin temu, niemamnazwy napisał:

gdybym szukal w internecie to bym nie zadawal glupich pytan tutaj nie sadzisz?

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

@edit a reszta to na logike.. ladowanie itemow do gui itd. ktore sie nie zmienia - tylko podczas wlaczania pluginu, a nie przy kazdym evencie od nowa tworzyc (np. gui od dropow, bossow itp) 

Edytowane przez yooniks
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 godziny temu, Queito napisał:

robisz taski async do rzeczy ktore potrzebuja duzo czasu na odpowiedz typu branie zmiennych z bazy danych

w zasadzie prawie wszystko powinno sie robic w innych watkach, niestety bukkit i serwer nms jest synchroniczny i nie jest zabezpieczony przed asynchroniczna modyfikacja itd...

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 minut temu, HotAngel2K17 napisał:

nie używać tylko metod statycznych.

singleton nie ma nic do wydajnosci

5 minut temu, HotAngel2K17 napisał:

Zamiast 40 oddzielnych tasków, lepiej zrobić jeden globalny.

Jedna rzecz - jedna klasa. Nie mozna robic syfu w kodzie

 

Edytowane przez Sewer
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
28 minut temu, Sewer napisał:

singleton nie ma nic do wydajnosci

Jedna rzecz - jedna klasa. Nie mozna robic syfu w kodzie

 

Ktoś pyta o optymalizację, a nie o kod. Wydajniej jest zrobić wszystko w jednym tasku,ale nie tylko. Można zrobić 2-3 taski, ale nie jeden task na jedną rzecz. Szczególnie gdy tych tasków jest np. 20.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 godzin temu, HotAngel2K17 napisał:

Wydajniej jest zrobić wszystko w jednym tasku,ale nie tylko. Można zrobić 2-3 taski, ale nie jeden task na jedną rzecz. Szczególnie gdy tych tasków jest np. 20.

Ilosc zadan, jakie zarejestrujesz nie stanowi roznicy, bo wszystkie i tak wykonaja sie w jednym momencie. Jeszcze jest cos takiego jak timingi, ktore zliczaja czas wykonania zadania, gdy wszystkie taski sprowadzisz do jednego, w pewnym sensie stracisz  kontrole nad timingami przez co stana sie zwyczajnie bezuzyteczne.

Edytowane przez Sewer
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 godzin temu, HotAngel2K17 napisał:

Ładowanie inventory przy starcie serwera, nie używać tylko metod statycznych.

Zamiast 40 oddzielnych tasków, lepiej zrobić jeden globalny.

I oczywiście większość rzeczy ładować przy starcie serwera,a nie w trakcie jego pracy.

tak jak napisał Sewer, single responsibility, jedna klasa - jedno zadanie, o wiele łatwiej jest się odnaleźć w kodzie i ogólnie bardzo duzo ułatwia, a to czy będzie jeden task z 1000 linijkami kodu, czy 10 taskow po 100 linijek tak jak napisałeś, nie wpływa na wydajnosc, i tak są wrzucane do kolejki, a kolejka jest tak duza(tzn. dużo taskow może się wykonywać jednocześnie) że taski wykonają się od razu

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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