Программистские задачки и хитрости

Re: Программистские задачки и хитрости

Сообщение MX_Master » 21 апр 2020, 15:30

Ну что, товарищи :) механизм общей памяти с программными spinlock'ами таки обогнал по скорости систему двунаправленного буфера. Самый увесистый кусок кода удерживает общую память не дольше 2-3 микросекунд. В системе сообщений (два буфера) аналогичный обмен данными мог занимать десятки микросекунд.

Следующий шаг - проверка скорости передачи с аппаратными spinlock'ами...
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 5856
Зарегистрирован: 27 июн 2015, 19:45
Откуда: Алма-Ата
Репутация: 2609
Медальки:
Настоящее имя: Миша

Re: Программистские задачки и хитрости

Сообщение Duhas » 21 апр 2020, 18:35

ежели объем тот же - что-то ой разница. я думаю большой вопрос в корректности реализации или еще каких нюансах.
Duhas
Мастер
 
Сообщения: 1564
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 237
Настоящее имя: Андрей

Re: Программистские задачки и хитрости

Сообщение MX_Master » 22 апр 2020, 12:17

Вощём, с аппаратными spinlock'ами ещё быстрее на 200-300 нсек. Что ожидаемо :)

Duhas писал(а):ежели объем тот же - что-то ой разница. я думаю большой вопрос в корректности реализации или еще каких нюансах.

Система сообщений (2 буфера) даже в теории имеет больше накладных расходов. Просто, за счёт двойного копирования данных. Сначала в буфер, а потом из него по конкретным местам. Накладывается ещё и поиск непрочитанных сообщений. Ну и кривая реализация от автора тоже добавляет накладных :freak:
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 5856
Зарегистрирован: 27 июн 2015, 19:45
Откуда: Алма-Ата
Репутация: 2609
Медальки:
Настоящее имя: Миша

Re: Программистские задачки и хитрости

Сообщение Duhas » 22 апр 2020, 16:35

дык оно происходит в разных процессах )

хотя вопрос как там доступ к памяти реализован и т.д. ну если все хорошо, то все хорошо )
Duhas
Мастер
 
Сообщения: 1564
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 237
Настоящее имя: Андрей

Re: Программистские задачки и хитрости

Сообщение UAVpilot » 25 май 2020, 17:34

Кто в теме IP: почему работает? :)

Код: Выделить всёРазвернуть
$ ping -c 5 192.168.1.555
...
--- 192.168.1.555 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4128ms
rtt min/avg/max/mdev = 0.214/0.294/0.334/0.042 ms
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20306
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4856
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

Re: Программистские задачки и хитрости

Сообщение Duhas » 25 май 2020, 19:37

переполнение байтовой переменной?
Duhas
Мастер
 
Сообщения: 1564
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 237
Настоящее имя: Андрей

Re: Программистские задачки и хитрости

Сообщение UAVpilot » 26 май 2020, 00:09

Duhas писал(а):переполнение байтовой переменной?

Нет. IPv4 адрес - это uint32_t практически во всех реализациях.
Надо ширше мыслить! ;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20306
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4856
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

Re: Программистские задачки и хитрости

Сообщение Duhas » 26 май 2020, 00:22

ну я в кишки не заглядывал даже ) так пальцем в небо,

шо, резолвится в 192,168,3,43?
Duhas
Мастер
 
Сообщения: 1564
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 237
Настоящее имя: Андрей

Re: Программистские задачки и хитрости

Сообщение UAVpilot » 26 май 2020, 02:19

Нет. Адрес в сети 192.168.1.0/24 :)

Задачка не совсем про программирование, а про IP и на сообразительность, просто более подходящей темы нет.
С другой стороны программист, мыслящий стандартами - так себе программист, скорее просто кодер. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20306
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4856
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

Re: Программистские задачки и хитрости

Сообщение Bender » 26 май 2020, 05:23

Адрес 192.168.1.138
1000101011-555
10001010-138
Префикс 24бита.
Далее отбрасывается 2бита.
WLDev - We Love Developers)))
Аватара пользователя
Bender
Мастер
 
Сообщения: 1134
Зарегистрирован: 24 янв 2012, 16:04
Откуда: Новосибирск
Репутация: 346
Медальки:
Настоящее имя: Сергей Бочаров

Re: Программистские задачки и хитрости

Сообщение merkwurdigliebe » 26 май 2020, 05:56

UAVpilot писал(а):почему работает?

echo 127.0.0.1 192.168.1.555 >>/etc/hosts
merkwurdigliebe
Мастер
 
Сообщения: 413
Зарегистрирован: 17 дек 2013, 22:14
Откуда: Москва
Репутация: 396
Медальки:

Re: Программистские задачки и хитрости

Сообщение nevkon » 26 май 2020, 09:42

Оно не обязательно должно быть где-то объявлено. Помню было на обучении, но в чем прикол уже не помню.
nevkon
Мастер
 
Сообщения: 1805
Зарегистрирован: 17 июл 2015, 10:25
Откуда: Балаково (Саратовская обл.)
Репутация: 218
Настоящее имя: Константин

Re: Программистские задачки и хитрости

Сообщение UAVpilot » 26 май 2020, 13:28

merkwurdigliebe писал(а):echo 127.0.0.1 192.168.1.555 >>/etc/hosts

:good:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20306
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4856
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

Пред.

Вернуться в Оффтоп

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

Зарегистрированные пользователи: Argon-11, ART_ME, Bing [Bot], calabr, diman78, Google [Bot], Kachik, linnenemy, Majestic-12 [Bot], Malyarka74, MuForum, MukhinG, Okser, PavelTch, r_v, SVP, Yandex [bot]

Reputation System ©'