Pull to refresh
2
0

Пользователь

Send message
А как же красивые картинки с инстограмчика? Человек ведь так старался!
Я, признаться честно, не особо понимаю ценность статьи. Алгоритм ведь давно известен.
Даже если писать из одного потока, а читать из других, то проблемы неизбежны :)
Пока посмотрел код работы с односвязными списками и есть пара моментов для улучшений:
1. Отказаться от рекурсии в пользу итерации для операций на списках;
2. Насколько часто происходит поиск предка в односвзянном списке? Если часто, может стоит рассмотреть использование двусвязного?
Есть пара смежных вопросов, если не возражаете :)

  1. Есть ли какая-то зависимость между курсами? То есть можно ли брать «алгоритмы» до «математика» или наоборот? То есть существует ли некоторый рекомендуемый порядок прохождения данных курсов?
  2. На coursera есть целая специализация по Дискретной математике от Александра Куликова и Александра Шеня. (могу ошибаться). Не планируется ли запустить нечто такое, но в рамках Stepik и CSC?
  3. Что делать, если я заинтересован в курсах «математика» и «алгоритмы», но время есть на что-то одно? Будет ли перезапуск этих курсов позднее?

Ну и огромное спасибо за материал! :)
Мне кажется, что Вы путаете развитие языка С++ и то, как на нем разрабатываются приложения. Никто не заставит Вас использовать С++17, если Вы того не захотите, ведь обратная совместимость никуда не девается (в большинстве случаев). Пишите в процедурном стиле, делайте свои аллокаторы с непрерывной памятью и без паттернов. Принцип «не платишь за то, что не используешь» никуда не делся.
Идея хорошая! Но расскажите поподробнее, как общаться со сторонними процессами без блокировок и системных вызовов? Ведь даже в случае с non-blocking POSIX Message Queue от системных вызовов Вы вряд ли куда уйдете. Да, на первый взгляд это будет неблокирующий системный вызов, но все равно вызов с соотвествующими накладными расходами на переключение контекста. Опять же, очередь не засунишь в демультиплексирующие вызовы (кажется). Но есть костыли в виде прослушки еще одним процессом очереди сообщений, который перекладывает эти сообщения в неименованный канал, который и запихивают в демультиплексирующие вызовы. Но все это не обходится без системных вызовов все равно.
Но ведь если сделать тот же ход (а именно нормально написать C extension, который будет отпускать GIL), то и вполне можно решать CPU bound задачи на питоне =) Понятное дело, что числодробилку на чистом CPython писать — довольно гиблое дело.
А что не так с GIL? У меня встречный вопрос: как Вы думаете как выполняется блокирующее чтение файлов/сокетов в разных потоках, задействуя системные вызовы и libc? Участвует ли в этом GIL как примитив синхронизации? К примеру, 10 разных файлов в 10 разных потоках.
Так вот судя по их словам, обогнать себя самого на VLIW-ассемблере либо нельзя, либо на считанные проценты, относительно того же грамотно написанного С-кода в связке с оптимизирующим компилятором.


А самое интересное еще впереди — интернет-гиганты пытаются применять машинное обучение к построению hardware. То же самое происходит и по направлению к компиляторам. К сожалению, быстрое гугление пока не дало результатов. На мой взгляд, стоит ждать скорого сокращения разрыва между лучшими оптимизаторами в лице человека и оптимизаторами компилятора.
Скрытый текст
фанат defrag mode? :D
Технических деталей реализации я, увы, не знаю. Но удивлен, что отключение кэша первого уровня дает такой нереальный провал в производительности.
Насколько я помню, кнопка турбо переводила компьютер в режим ХТ-совместимости. У меня была история, связанная с этим. Пару лет после моего первого знакомства с компьютерами, ко мне каким-то образом попала мамка с Pentium 60mhz. Я это дело собрал как мог и решил поиграть в новые доступные мне игры — Quake 1 и HoMM2. Каково же было мое удивление, когда игры удавалось запустить, но они были абсолютно неиграбельны. В итоге, я решил перебрать вверенное мне хозяйство и обнаружил подозрительную перемычку, которую решил снять за ненадобностью. Удивлению не было предела снова, когда я увидел скорость работы компьютера на этот раз! Как Вы можете понять, эта перемычка стояла на том самом джампере Turbo и заставляла постоянно работать компьютер в режиме совместимости с ХТ!
У меня был клон 386sx-40 от AMD. И в свое время я очень долго думал как же разогнать его на частоту побольше. И если частоты в штатном диапозоне переключались перемычками, то выше 40 перемычек просто не было. У меня была идея менять какие-нибудь кварцы на частоту побольше (12 летний подросток, что с меня взять) и паять, но для меня это было за гранью. Так как Вы разогнали свой?
pmove_fixed — это в некотором роде чит как и cl_timenudge и его всегда выключали на чемпионатах. Простая проверка скилла — с выключенным pmove_fixed на q3tourney2 было довольно проблематично выпрыгнуть из телепорта сразу на площадку к броне/рокету. С включенным pmove_fixed любой мог так сделать. /ностальгии тред
sv_fps есть, только толком его никто и никогда не использовал. Геймеры и не понимали особо его сути, зато всем и обязательно нужно было иметь стабильные 120fps, которые ставились командой com_maxfps. А если частота кадров скакала, то были неприятные проблемы — в частности, без стабильных 120 фпс нельзя почти нельзя перепрыгнуть с мостика на рейлган на dm6 в osp mode.

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity