Как правильно и неправильно спать

Не так давно мимо нас пробегала неплохая статья об ужасном состоянии производительности современного ПО (оригинал на английском, перевод на Хабре). Эта статья напомнила мне об одном антипаттерне кода, который встречается весьма часто и в общем кое-как работает, но приводит к небольшим потерям производительности то тут, то там. Ну, знаете, мелочь, пофиксить которую руки никак не дойдут. Беда лишь в том, что десяток таких «мелочей», разбросанных в разных местах кода начинают приводить к проблемам типа «вроде у меня последний Intel Core i7, а прокрутка дёргается».

Я говорю о неверном использовании функции Sleep (регистр может отличаться в зависимости от языка программирования и платформы). Итак, что же такое Sleep? Документация отвечает на этот вопрос предельно просто: это пауза в выполнении текущего потока на указанное количество миллисекунд. Нельзя не отметить эстетическую красоту прототипа данной функции:

void Sleep(DWORD dwMilliseconds);

Всего один параметр (предельно понятный), никаких кодов ошибок или исключений — работает всегда. Таких приятных и понятных функций очень мало!

Ещё большим уважением проникаешься к этой функции, когда читаешь, как она работает

Функция идёт к планировщику потоков ОС и говорит ему «мы с моим потоком хотели бы отказаться от выделенного нам ресурса процессорного времени, сейчас и ещё на вот столько-то миллисекунд в будущем. Отдайте бедным!». Слегка удивлённый подобной щедростью планировщик выносит функции благодарность от имени процессора, отдаёт оставшийся кусок времени следующему желающему (а такие всегда найдутся) и не включает вызвавший Sleep поток в претенденты на передачу ему контекста выполнения на указанное количество миллисекунд. Красота!

Что же могло пойти не так? То, что программисты используют эту замечательную функцию не для того, для чего она предназначена.
Читать дальше →
Как правильно и неправильно спать
Source: habrahabr

Пост №3690849

Автор: hellgust97

Развернуть

{
«@context»: «http://schema.org»,
«@type»: «BlogPosting»,
«mainEntityOfPage»:{
«@type»:»WebPage»,
«@id»:»http://ua.reactor.cc/post/3690849″
},
«headline»: «Українські комікси :: Моя Україна :: фэндомы»,
«image»: {
«@type»: «ImageObject»,
«url»: «http://img1.joyreactor.cc/pics/post/full/%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D1%96-%D0%BA%D0%BE%D0%BC%D1%96%D0%BA%D1%81%D0%B8-%D0%9C%D0%BE%D1%8F-%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B0-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-4788953.jpeg»,
«height»: 747,
«width»: 750 },
«datePublished»: «2018-10-26T12:44:25+03:00»,
«dateModified»: «2018-10-26T12:44:25+03:00»,
«author»: {
«@type»: «Person»,
«name»: «hellgust97»
},
«publisher»: {
«@type»: «Organization»,
«name»: «JoyReactor.cc»,
«logo»: {
«@type»: «ImageObject»,
«url»: «http://joyreactor.cc/images/joyreactor_ie6.png»,
«width»: 207,
«height»: 54
}
},
«description»: «»
}

Комментировать 
Пост №3690849
Source: Joyreactor

Созданный искусственным интеллектом портрет продали за 30 миллионов рублей

Новости о том, что искусственный интеллект записал музыкальный альбом, сочинил стихотворение или нарисовал картину, в последние годы появляются в сети довольно часто. Но до сих пор никто из виртуальных […]
Созданный искусственным интеллектом портрет продали за 30 миллионов рублей
Source: 4pda

Пост №3690844

Автор: GameInfo

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3690844″ }, «headline»: «HIDEO KOJIMA0 ©HIDEOJCOJIMAJN Game Creator 70% of my body is mi of movies. @Kojima_Hideo TT* 'C / twitter :: кодзима :: интернет :: смешные картинки (фото приколы )», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%BA%D0%BE%D0%B4%D0%B7%D0%B8%D0%BC%D0%B0-twitter-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D1%81%D0%BC%D0%B5%D1%88%D0%BD%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-4788948.jpeg», «height»: 871, «width»: 640 }, «datePublished»: «2018-10-26T12:37:55+03:00», «dateModified»: «2018-10-26T12:37:55+03:00», «author»: { «@type»: «Person», «name»: «GameInfo» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «t'6 Кодзима Более гениальный Кодзима» }
Комментировать 
Пост №3690844
Source: Joyreactor

Пост №3690836

Автор: St.P

Месть ФиксиковклацРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3690836″ }, «headline»: «Месть Фиксиков / сызрань :: новости», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%81%D1%8B%D0%B7%D1%80%D0%B0%D0%BD%D1%8C-%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8-4788941.jpeg», «height»: 850, «width»: 850 }, «datePublished»: «2018-10-26T12:36:40+03:00», «dateModified»: «2018-10-26T12:36:40+03:00», «author»: { «@type»: «Person», «name»: «St.P» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «клац» }
Комментировать 
Пост №3690836
Source: Joyreactor

Пост №3690832

Автор: YaroslavBrain

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3690832″ }, «headline»: «SoulCalibur :: South Park :: Soulcalibur VI :: Мультфильмы :: Игры», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Soulcalibur-VI-South-Park-%D0%9C%D1%83%D0%BB%D1%8C%D1%82%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B-SoulCalibur-4788937.jpeg», «height»: 807, «width»: 460 }, «datePublished»: «2018-10-26T12:30:19+03:00», «dateModified»: «2018-10-26T12:30:19+03:00», «author»: { «@type»: «Person», «name»: «YaroslavBrain» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3690832
Source: Joyreactor

Пост №3690829

Автор: Romen

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3690829″ }, «headline»: «нет шансов :: самоубийство :: спасатели», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%81%D0%B0%D0%BC%D0%BE%D1%83%D0%B1%D0%B8%D0%B9%D1%81%D1%82%D0%B2%D0%BE-%D1%81%D0%BF%D0%B0%D1%81%D0%B0%D1%82%D0%B5%D0%BB%D0%B8-%D0%BD%D0%B5%D1%82-%D1%88%D0%B0%D0%BD%D1%81%D0%BE%D0%B2-%D0%BF%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0-4788933.gif», «height»: 323, «width»: 328 }, «datePublished»: «2018-10-26T12:25:36+03:00», «dateModified»: «2018-10-26T12:25:36+03:00», «author»: { «@type»: «Person», «name»: «Romen» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3690829
Source: Joyreactor

Пост №3690821

Автор: Aksafan

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3690821″ }, «headline»: «★★★★★ 22 Осг 2018 Со1ог:Риг Эагк гес! БЬое 51ге:12.5 Это не корки, не боты, не кроссы и даже не / Aliexpress :: ботинки :: комментарии», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Aliexpress-%D0%B1%D0%BE%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D0%B8%D0%B8-4788925.png», «height»: 744, «width»: 652 }, «datePublished»: «2018-10-26T12:21:18+03:00», «dateModified»: «2018-10-26T12:21:18+03:00», «author»: { «@type»: «Person», «name»: «Aksafan» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «бутсы. Это сука — зависть хипстера, бородатые уебки сосут за такие. При цене в две бутылки водки, эти ботинки выглядят так…. Как будто вы отхуярили Тимати и всю его охрану и потом сняли с него данные кеды. Блять да в таких сандалях вы можете голым выйти на улицу и люди будут говорит "ты охуенен б» }
Комментировать 
Пост №3690821
Source: Joyreactor

Цитата #452917

Я хуею с местного населения. Заказали пахать поле. Договорились о сумме за гектар. Он работу выполнил, меня отправляют считать. Я беру точки gps, а потом в Гугле узнал площадь о чём и сообщаю — 44 га.
На что ответ:"А мы рассчитывали что вспахали не менее 60."
"А как вы считали?"
"Ну мы заебалась так как будто 60 вспахали"
Цитата #452917
Source: bash

Цитата #452916

opennet, "В Москве состоится лекция Юрга Гуткнехта "Проект Оберон: 30 лет"

Аноним (13):
> "Проект Оберон: 30 лет
… со дня смерти. Причины, последствия, выводы." В программе мероприятия, лекции:
— Почему Паскаль оказался популярнее своих продолжателей?
— Как 10 лет не замечать Смолтолк. Пособие юных велосипедистов.
— В чём секрет долгожительства Лиспа и Пролога? Мы тоже не знаем.
— Утомлённые Юниксом. Зачем писать ещё одну мёртвую ОС?
Цитата #452916
Source: bash