|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я еще не встречал компилятор, разворачивающий switch в таблицу и бинарный поиск, а не тупой последовательный перебор. Пример в студию (код, компилятор, опции запуска, ассемблерный файл). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 07:40 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128Я еще не встречал компилятор, разворачивающий switch в таблицу и бинарный поиск, Поищи, это недавно обсуждалось. Почти все они разворачивают switch в таблицу переходов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 13:08 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128 Dimitry Sibiryakov, Я еще не встречал компилятор, разворачивающий switch в таблицу и бинарный поиск, а не тупой последовательный перебор. Пример в студию (код, компилятор, опции запуска, ассемблерный файл). 17647333 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 13:20 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov ptr128таблицу и бинарный поиск , таблицу переходов . Разницы не замечаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 18:05 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dima T, Не вижу бинарного поиска в упор. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 18:06 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128 Dima T, Не вижу бинарного поиска в упор. Его там нет и не надо. PS О чем спор? Топик лень читать, цитируйте качественнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 18:14 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dima T ptr128 Dimitry Sibiryakov, Я еще не встречал компилятор, разворачивающий switch в таблицу и бинарный поиск , а не тупой последовательный перебор. Пример в студию (код, компилятор, опции запуска, ассемблерный файл). 17647333 В Вашем примере бинарного поиска не вижу в упор. P.S. Читать надо сообщение, на которое отвечаете ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 18:24 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128В Вашем примере бинарного поиска не вижу в упор. А ты настаиваешь, что O(1) надо таки заменить на O(log2(N))?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 18:47 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, я настаиваю, что, например, при реализации приема команд на AVR по протоколу NEC (8 бит на устройство и 8 бит на команду), перебирать несколько сот кодов последовательно - недопустимая роскошь. Например, восемь устройств по 32 команды. Для 8-битного процессора разница между между 128 и 9 (на порядок!) обращениям к таблице во флеш памяти - грандиозная. Просто у Вас убогий и совершенно не имеющий практического применения пример. Я же привел пример и собственного опыта. Естественно, редко когда коды команд закодированы последовательно. И тем более нумерация устройств ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 19:17 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128Для 8-битного процессора разница между между 128 и 9 (на порядок!) обращениям к таблице во флеш памяти - грандиозная. А что, кто-то запрещает if-ы организовать в дерево, а не цепочку?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 19:27 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, никто ничего не запрещает, но код двоичного поиска на порядок меньше занимает места во флеше и на порядок быстрее ))) Когда у Вас 32 килобайта флеша это может влиять вообще на возможность реализации требуемой функциональности на данном МК. Разбаловались гигабайтами и гигагерцами? ))) Я уже молчу о случае, когда у Вас Padаuk типа PFS154 всего с двумя килословами на борту и 128 байтами оперативки ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 19:34 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Какое отношение всё это имеет к топикстартеру? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:05 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ъъъъъ ptr128 пропущено... А табличный метод отменили уже что-ли? Делаем табличку в памяти (массив структур) состоящую из отсортированных идентификаторов запроса и указателя на функцию, этот запрос обрабатывающую. Тупым бинарным поиском ищем принятый идентификатор в таблице. Если не найден - ошибка. Если найден - вызываем функцию, обрабатывающий запрос с таким идентификатором передавая ей все остальные параметры запроса. Делаем табличку в памяти, состояющую из указателей на реализации методов. В запросе передаем индекс метода, вместо его имени. Сервер обращается к методу по индексу. Далее метод выполняет специфичный для него код (например, выбирает из тела запроса значения входных параметров метода и т.п.). зачем так всё усложнять то? в простейшем случае (вот как этот) во входящем запросе будет только цифра (код) команды а это обычный вектор. про http-роутинг речи же не идёт ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:19 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, прямое. Во-первых, в приведенном мной примере и был сделан аналогичный сервер на AVR. Не вижу принципиальной разницы в том, что у меня коммуникация по SPI. Во-вторых, даже на гигабайтах и гигагерцах, при яро пропагандируемом Вами подходе, и получаются монстры требующие по 2ГБ свободной оперативки только для запуска и поедающие до 50% ресурсов многоядерных CPU. Надеяться на оптимизацию компилятором можно только в том случае, когда точно знаешь ее возможности и ограничения, а так же давно привык анализировать ее результат по ассемблерному листингу. В противном случае, рекомендуется включать голову и использовать оптимизированные алгоритмы, которые преподают сейчас даже в школе на уроках информатики ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:19 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128Не вижу принципиальной разницы в том, что у меня коммуникация по SPI. Дело не в технологиях, а в том, что ТС - чайник, для которого простота и понятность кода важнее его эффективности. Поэтому преждевременную оптимизацию - отставить! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:22 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128 Во-вторых, даже на гигабайтах и гигагерцах, при яро пропагандируемом Вами подходе, и получаются монстры требующие по 2ГБ свободной оперативки только для запуска и поедающие до 50% ресурсов многоядерных CPU. если сделать на if-ах, то будет 2гб и 50% ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:48 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, если чайника-бетонщика учить так, чтобы ему было проще и понятно, то тогда не надо ему штыковать и обрабатывать вибратором бетон при заливке фундамента? Просто залить его на порядок больше, чтобы скомпенсировать отсутствие "оптимизации" объемом? Сами в доме на таком фундаменте захотели бы жить? А программиста так обучать не то что можно, а по Вашим словам - НУЖНО! ))) Что интересно - не от Вас одного слышу такой подход. То есть строителей, врачей, слесарей, сварщиков, автомехаников - так учить недопустимо. Потому что там без "оптимизации" дом рухнет, больной успеет умереть, кран протечет, газопровод прорвет, водитель в ДТП убьется. А программистов - нужно. Комп все стерпит ))) Помнится, именно из-за проблем с отсутствием оптимизации кода пришлось отменить несколько сотен рейсов из аэропорта Хитроу, хотя на тестировании система успешно справлялась с задачей. Но упала под реальной нагрузкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:52 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
tip78 если сделать на if-ах, то будет 2гб и 50% ? Да, если нет никаких следов алгоритмической оптимизации в тысячах методах конкретного программного продукта. P.S. Вроде бы сайт называется sql.ru. То бишь, люди здесь должны понимать, что подобный код в какой-то CLR может вызываться миллиард раз на одном сервере в одном SQL запросе. Но все равно в лом оптимизировать алгоритм ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 20:54 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128, Объем не поможет. Он не работает на растяжение и сжатие. Армирование работает. И рассчитывает монолит инженер, а рабочий выполняет инструкции. Так и прогеры. Они давно разделились. Оптимизация не всегда нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 21:48 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128, На sql берут целиком http server. Он уже оптимизирован и протестирован. Код: java 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 21:53 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, про бетон я в курсе. Оттуда и смайлики, и вопрос о желании жить в таком доме. И то что оптимизация не всегда нужна тоже в курсе. Лично меня жизнь болезненными пинками научила оптимизировать код. Сын учится в Бауманке и там студентов заставляют считать, насколько их код оптимален. И от этой оптимальности может зависеть оценка. Что, по моему, правильно. Потому что лучше при обучении заставлять писать оптимально всегда, даже если это не существенно, чем когда слышишь от молодого специалиста: "И так нормально! Я проверял, запрос за секунды выполняется." И задолбаешся вбивать этому специалисту в голову, что он за секунды выполняется в среде разработки, а на продуктиве через год это может вылиться в десятки минут, негатив от заказчика и ударную оптимизацию в новогодние праздники в честь закрытия года (было и такое). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 22:02 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
PetroNotC Sharp ptr128, На sql берут целиком http server. Ой, спасибо. Промышленный заказчик бы и цента не заплатил, если бы Вы предложили бы ему данные через http гонять по RS-485 ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 22:12 |
|
Отправить задание c++ серверу
|
|||
---|---|---|---|
#18+
ptr128, Странный вы. Время отклика пишется в ТЗ. Если заказчика устраивает цифра 100-400 мс, то вполне. А на sql.ru сколько? Или вы интернетом не пользуетесь?))) )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2021, 22:18 |
|
|
start [/forum/topic.php?fid=57&msg=40033109&tid=2017273]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
249ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 618ms |
0 / 0 |