Русское сообщество по скриптингу

использовать switch или if?  [Решено]

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

использовать switch или if?

Сообщение [N][E][M][E][C] » 29 сен 2021, 14:26

Что будет получше???
Код: Выделить всё
public client_putinserver(id) {
    switch(is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id)) {      
        case 0
: return;  
        case 1
: server_print("код выполнился________");
    }                                                  
}

или
Код: Выделить всё
public client_putinserver(id) {
   if(! is_user_connected(id) || is_user_bot(id) || is_user_hltv(id)) 
        return
;
        
    server_print
("код выполнился________");
}

И каким образом можно проверить сколько времени заняло на выполнение функции например
Последний раз редактировалось [N][E][M][E][C] 01 окт 2021, 11:40, всего редактировалось 3 раз(а).
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: использовать switch или if?

Сообщение RockTheStreet » 29 сен 2021, 23:13

1. На вкус и цвет все фломастеры разные.
2. Для таких проверок нет смысла замерять скорость выполнения, ибо они незначительные. Об оптимизации нужно задумываться в более серьёзных вещах.
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 97
Зарегистрирован: 12 авг 2021, 23:13
Забанен
Благодарил (а): 7 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: использовать switch или if?

Сообщение [N][E][M][E][C] » 30 сен 2021, 01:31

Спасибо конечно за отклик, но мне от части больше надо для других целей, мне нужно за какое время что выполняется, может отдельно скрипт какой есть. Вроде как есть такое как profilir amxx, вот хотелось бы узнать побольше? Я делал подмену amxmodx_mm.dll, но после этого сервер не запускается, вроде и там и там 1.8.1 версия
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: использовать switch или if?

Сообщение RockTheStreet » 30 сен 2021, 03:45

Увы, религия не позволяет поддерживать людей, которые считают одну миллионную миллисекунды в каждой строке кода.
Обратитесь к тем, кому заняться нечем. Вероятнее всего вы найдёте общий язык.
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 97
Зарегистрирован: 12 авг 2021, 23:13
Забанен
Благодарил (а): 7 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: использовать switch или if?  [Решено]

Сообщение [N][E][M][E][C] » 30 сен 2021, 04:11

RockTheStreet, кстати, сделал
switch===============================================================================
n | register_plugin | 1 | 0.000000 / 0.000000 / 0.000000
n | is_user_connected | 1 | 0.000000 / 0.000000 / 0.000000
n | server_print | 1 | 0.000052 / 0.000052 / 0.000052
p | client_putinserver | 1 | 0.000000 / 0.000000 / 0.000000
p | plugin_init | 1 | 0.000000 / 0.000000 / 0.000000
2 natives, 0 public callbacks, 2 function calls were not executed.

if===================================================================================
date: Thu Sep 30 03:08:18 2021 map: de_dust
type | name | calls | time / min / max
-------------------------------------------------------------------
n | register_plugin | 1 | 0.000000 / 0.000000 / 0.000000
n | is_user_connected | 1 | 0.000000 / 0.000000 / 0.000000
n | server_print | 1 | 0.000063 / 0.000063 / 0.000063
p | client_putinserver | 1 | 0.000000 / 0.000000 / 0.000000
p | plugin_init | 1 | 0.000000 / 0.000000 / 0.000000
2 natives, 0 public callbacks, 2 function calls were not executed.


Одно отличие по времени, во втором случае server_print!!!!!!
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: использовать switch или if?

Сообщение Mistrick » 30 сен 2021, 10:53

Сделали вывод по единичному вызову функций?
Код не идентичен, посмотрите правила де Моргана.
В следующий раз делайте хотя бы миллион вызовов.
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2940
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1247 раз.
Языки программирования: PAWN
С/С++(few above zero)

Re: использовать switch или if?

Сообщение [N][E][M][E][C] » 30 сен 2021, 15:19

Mistrick,
Я думаю разницы не будет, даже если сделать миллион итераций
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: использовать switch или if?

Сообщение RockTheStreet » 01 окт 2021, 01:22

vitalik19842105 писал(а):Mistrick,
Я думаю разницы не будет, даже если сделать миллион итераций

Думать и знать - разные вещи.
Тест не объективен.
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 97
Зарегистрирован: 12 авг 2021, 23:13
Забанен
Благодарил (а): 7 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: использовать switch или if?

Сообщение [N][E][M][E][C] » 01 окт 2021, 11:32

RockTheStreet,
Быть умным и косить под умного, тоже разные вещи!!! Учти это обязательно. И на будущее, если растройства какие, есть таблетки лапирамит. Если говоришь не по теме, не лезь воообще.

Mistrick,
Доброго утра вам, вот результат после 1000 итераций
date: Fri Oct 01 10:29:42 2021 map: de_dust
type | name | calls | time / min / max
-------------------------------------------------------------------
n | register_plugin | 1 | 0.000000 / 0.000000 / 0.000000
n | is_user_connected | 1 | 0.000000 / 0.000000 / 0.000000
n | is_user_bot | 1 | 0.000001 / 0.000001 / 0.000001
n | is_user_hltv | 1 | 0.000001 / 0.000001 / 0.000001
n | server_print | 1000 | 0.023933 / 0.000023 / 0.000702
p | client_putinserver | 1 | 0.000056 / 0.000056 / 0.000056
p | plugin_init | 1 | 0.000000 / 0.000000 / 0.000000
0 natives, 0 public callbacks, 2 function calls were not executed.

date: Fri Oct 01 10:39:46 2021 map: de_dust
type | name | calls | time / min / max
-------------------------------------------------------------------
n | register_plugin | 1 | 0.000000 / 0.000000 / 0.000000
n | is_user_connected | 1 | 0.000000 / 0.000000 / 0.000000
n | is_user_bot | 1 | 0.000001 / 0.000001 / 0.000001
n | is_user_hltv | 1 | 0.000001 / 0.000001 / 0.000001
n | server_print | 1000 | 0.023312 / 0.000023 / 0.000076
p | client_putinserver | 1 | 0.000063 / 0.000063 / 0.000063
p | plugin_init | 1 | 0.000000 / 0.000000 / 0.000000
0 natives, 0 public callbacks, 2 function calls were not executed.

разницы вроде как нет
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: использовать switch или if?

Сообщение Fedcomp » 01 окт 2021, 17:54

vitalik19842105 писал(а):Mistrick,
Я думаю разницы не будет, даже если сделать миллион итераций

Да ну? а прогретые кэши процессора вы не учитываете? а нюансов в бенчмаркинге вагон. Не гонитесь за производительностью пока что то не будет заметно тормозить.
Если совсем хочется успокоиться то читайте вот это: Вы должны зарегистрироваться, чтобы видеть ссылки. ... 0%BC%D0%B0
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 815 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

След.

Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4