Skocz do zawartości
  • 0

Czym się różni add od set?


Nieaktywny

Pytanie

Od niespełna kilku dni bawię się Skriptem i robię sobie różne testy. Zauważyłem, że z pozoru add oraz set mają takie samo działanie więc jakie było moje zdziwienie gdy zrobiłem taki test

command /test:
	trigger:
		delete {_test::*}
		set {_n} to now
		loop 10000 times:
			add loop-number to {_test::*}
		set {_now} to difference between {_n} and now
		message "adding: %{_now}%"
		delete {_test::*}

command /test2:
	trigger:
		delete {_test::*}
		set {_n} to now
		loop 10000 times:
			set {_test::%loop-number%} to loop-number
		set {_now} to difference between {_n} and now
		message "setting: %{_now}%"
		delete {_test::*}

Wiem, że _ przed nazwą oznacza zmienną tymczasową i są automatycznie usuwane po zakończeniu wydarzenia ale tak dla 100% pewności wolałem dopisać delete. Wynik był powalający. 0.07 sekundy trwało zrobienie set a add ~90000% dłużej bo lekko ponad 1 minutę! Przy okazji sypiąc jakimiś errorami od Server thread dump a na koniec restart serwera.

Więc rodzą się pytania: czemu tak jest? czy set można stosować do wszystkiego? do czego jest add? czy jest więcej takich z pozoru podobnie działających poleceń?

Edytowane przez Nieaktywny
Odnośnik do komentarza
https://skript.pl/temat/32619-czym-si%C4%99-r%C3%B3%C5%BCni-add-od-set/
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
W dniu 7.04.2019 o 12:45, KrisSx napisał:

Set - ustawiasz dana zmienna na cos

Add - dodajesz cos do zmiennej

 

Podstawy angielskiego :nokappa:

Przecież to nic nie wyjaśnia. Chyba nikt nie wie.

Set ustawia coś do zmiennej ale jeśli nie ma tej zmiennej to ją tworzy. 10000 takich ustawionych różnych zmiennych tworzy się 0.07 sekundy.

Add dodaje do zmiennej ale jeśli jej nie ma to tak samo jak set ją tworzy. 10000 takich różnych zmiennych, do których jest dodawana wartość tworzy się ponad minutę.

Add {coś} to {czegoś} można przecież zapisać jako Set {czegoś} to {czegoś} + {coś} i efekt ten sam a trwa ok 90000% szybciej

 

Ale dlaczego jest aż taka różnica..

Edytowane przez Nieaktywny
Odnośnik do komentarza
https://skript.pl/temat/32619-czym-si%C4%99-r%C3%B3%C5%BCni-add-od-set/#findComment-212184
Udostępnij na innych stronach

  • 0
11 godzin temu, czapla112 napisał:

Przecież to nic nie wyjaśnia. Chyba nikt nie wie.

Set ustawia coś do zmiennej ale jeśli nie ma tej zmiennej to ją tworzy. 10000 takich ustawionych różnych zmiennych tworzy się 0.07 sekundy.

Add dodaje do zmiennej ale jeśli jej nie ma to tak samo jak set ją tworzy. 10000 takich różnych zmiennych, do których jest dodawana wartość tworzy się ponad minutę.

Add {coś} to {czegoś} można przecież zapisać jako Set {czegoś} to {czegoś} + {coś} i efekt ten sam a trwa ok 90000% szybciej

 

Ale dlaczego jest aż taka różnica..

Set ustawiasz, add dodajesz. Jaka w tym filozofia?

Odnośnik do komentarza
https://skript.pl/temat/32619-czym-si%C4%99-r%C3%B3%C5%BCni-add-od-set/#findComment-212238
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ę...