Comments 9
Скажите, а вы уверены, что в третьем примере ошибка дублирования условий, а не ошибка порядка строк?
Пример больше подходит для ситуации когда задан неверный порядок обхода условий, хотя и описываемая ошибка естественно присутствует.
Пример больше подходит для ситуации когда задан неверный порядок обхода условий, хотя и описываемая ошибка естественно присутствует.
0
Добрый день. Да, если возвращается одна и та же proxy (или как в нашем случае, DIRECT). Прошу заметить ещё раз, что тут есть ещё более грубая ошибка с проверкой по host, а не resolved address.
0
Вывод: как ни пиши — все равно не уйдешь за пределы погрешности и без того мизерной величины.
0
Зачем у вас во многих примерах else if? Вы же всё равно используете return.
В таблицах тестов вы ничего не напутали? Сначала вы утверждаете, что shExpMatch — очень медленная и вместо неё лучше host ==, а из таблиц видно, что для хрома разница несущественна, а для Firefox — shExpMatch работает значительно быстрее.
Ну и вообще, тесты странные. Ваш «оптимальный» вариант возвращает один единственный прокси, а остальные варианты выбирают один из трёх
В таблицах тестов вы ничего не напутали? Сначала вы утверждаете, что shExpMatch — очень медленная и вместо неё лучше host ==, а из таблиц видно, что для хрома разница несущественна, а для Firefox — shExpMatch работает значительно быстрее.
Ну и вообще, тесты странные. Ваш «оптимальный» вариант возвращает один единственный прокси, а остальные варианты выбирают один из трёх
0
Спасибо за Ваш комментарий, давайте по-порядку:
>>Зачем у вас во многих примерах else if? Вы же всё равно используете return.
Примеры взяты из реальных кейсов внедрения, так что вопрос очень правильный и я его тоже задавал коллегам: зачем использовать else if, если мы в любом случае возвращаем значение по return? Смотрите пример десятый, пожалуйста.
>>В таблицах тестов вы ничего не напутали?
Нет, все абсолютно верно. И именно потому см. Disclaimer, повторю, тесты лучше провести повторно, самостоятельно, потому как они могут быть спорные для разных случаев использования. Я крайне рекомендую воспользоваться преимуществами jsperf и при наличие аккаунта на github повторить тесты или даже модифицировать их, убедиться в преимуществах тех или иных функций самостоятельно.
>>Сначала вы утверждаете, что shExpMatch — очень медленная
К сожалению, совсем не могу согласиться с этим комментарием. «очень медленная» — это слишком ультимативное высказывание, я такого не писал, смотрите внимательнее, пожалуйста, пример первый. Речь идёт именно о первой строке кода с "*" и разницы в 1% в моём случае. И ещё раз, проблема даже не в оптимальности функции, а в уместности её применения, что значительно важнее.
>>Ваш «оптимальный» вариант возвращает один единственный прокси, а остальные варианты выбирают один из трёх
Если речь идёт о примере десятом, то опять же, оптимальной будет dnsDomainIs, который возвращает один из трех, а не единственный.
>>Зачем у вас во многих примерах else if? Вы же всё равно используете return.
Примеры взяты из реальных кейсов внедрения, так что вопрос очень правильный и я его тоже задавал коллегам: зачем использовать else if, если мы в любом случае возвращаем значение по return? Смотрите пример десятый, пожалуйста.
>>В таблицах тестов вы ничего не напутали?
Нет, все абсолютно верно. И именно потому см. Disclaimer, повторю, тесты лучше провести повторно, самостоятельно, потому как они могут быть спорные для разных случаев использования. Я крайне рекомендую воспользоваться преимуществами jsperf и при наличие аккаунта на github повторить тесты или даже модифицировать их, убедиться в преимуществах тех или иных функций самостоятельно.
>>Сначала вы утверждаете, что shExpMatch — очень медленная
К сожалению, совсем не могу согласиться с этим комментарием. «очень медленная» — это слишком ультимативное высказывание, я такого не писал, смотрите внимательнее, пожалуйста, пример первый. Речь идёт именно о первой строке кода с "*" и разницы в 1% в моём случае. И ещё раз, проблема даже не в оптимальности функции, а в уместности её применения, что значительно важнее.
>>Ваш «оптимальный» вариант возвращает один единственный прокси, а остальные варианты выбирают один из трёх
Если речь идёт о примере десятом, то опять же, оптимальной будет dnsDomainIs, который возвращает один из трех, а не единственный.
0
> Если речь идёт о примере десятом, то опять же, оптимальной будет dnsDomainIs, который возвращает один из трех, а не единственный
Вы же сами пишете «оптимальным будет использование OR условия»
Вы же сами пишете «оптимальным будет использование OR условия»
0
В общем случае да, dnsDomainIs более оптимален. Но если говорить конкретно про замену конструкции if/else if/else в десятом примере, то не всегда можно использовать более оптимальную функцию dnsDomainIs. Если требуется оптимизировать условия, то для FF в моём случае OR будет оптимальнее чем else if. Скриншот же приведён для всех вариантов, видимо он и смущает Вас.
0
Only those users with full accounts are able to leave comments. Log in, please.
Десять примеров того, как не нужно писать PAC-файлы