- 1
https://codeforwin.org/2018/05/10-cool-bitwise-operator-hacks-and-tricks.html
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
https://codeforwin.org/2018/05/10-cool-bitwise-operator-hacks-and-tricks.html
10 cool bitwise operator hacks and tricks every programmer must know
Right shift (>>) operator is equivalent to division by 2
Want to divide a number by 2 quicky. Here you go, use bitwise right shift operator to divide an integer by 2. Each right shift operation reduces the number (operand) to its half.
Просто напомню, что Jawa-петушки вручную заменяют деление/умножение на 2 на сдвиг, потому что анскильный компилятор так не умеет.
OCETuHCKuu_nemyx 12.09.2021 14:27 # 0
guest6 12.09.2021 14:28 # +2
JloJle4Ka 12.09.2021 14:47 # +1
CEHT9I6PbCKuu_nemyx 12.09.2021 22:28 # 0
3.14159265 13.09.2021 01:24 # 0
guest6 12.09.2021 14:47 # 0
Некоторые задачи (вроде несложного веб магазина или формочки для обратной связи) вполне может решить и т.н. "jawa программист".
JloJle4Ka 12.09.2021 14:53 # +1
И за дело!
> что не каждая компания может позволить себе профессионального программиста
Достаточно среднего ума, чтобы 1: не кодить на jawa, 2: писать без ошибок тривиальный код.
> на серьезных языках
Да, jawa – кастрированный, игрушечный язык. Jawa недалеко ушла от блоксхем для операторов интерпретаторов.
> да и не всегда в таком программисте есть смысл.
Всегда, если на результат не похуй. Опять же, есть языки, которые позволяют писать хорошие программы, при этом обладая низким порогом вхождения.
> Некоторые задачи (вроде несложного веб магазина или формочки для обратной связи) вполне может решить и т.н. "jawa программист".
Ну, кому-то же нужно делать всякую грязную и неблагодарную работу: не программистам на «Nim» или «С++» же)
Soul_re@ver 12.09.2021 20:36 # +2
ПХП-макака тоже может и это будет дешевле. Поэтому я за «PHP»
bormand 12.09.2021 19:44 # +1
guest6 12.09.2021 19:53 # +2
Можно для начала не создавать на каждую итерацию цикда 48_000 объектов, или что там обычно джавушки делают
bormand 12.09.2021 20:03 # +2
guest6 12.09.2021 20:08 # +1
guest6 12.09.2021 20:20 # +3
guest6 12.09.2021 20:25 # +5
CEHT9I6PbCKuu_nemyx 12.09.2021 22:30 # +2
bormand 12.09.2021 22:34 # +2
CEHT9I6PbCKuu_nemyx 12.09.2021 22:38 # +4
>= сравнивает значения, поэтому вернёт true.
А == сравнивает адреса объедков, поэтому вернёт false. Какой багор )))
bormand 12.09.2021 22:41 # +1
CEHT9I6PbCKuu_nemyx 12.09.2021 22:44 # +2
Почему так некокококонсистентно сделали? Тогда уж надо добавить сравнение адресов через < и > (не знаю, зачем оно нужно в «Йаже», которая не позволяет работать с указателями, но раз уж их начали сравнивать, то трудно остановиться).
bormand 12.09.2021 22:49 # +2
bormand 14.09.2021 09:51 # +2
З.Ы. It may cache values outside of this range. Вот и приехали, implementation-defined в этой вашей джаве. Т.е. сравнивать числа по адресу никогда нельзя, даже с valueOf.
guest6 14.09.2021 12:54 # +1
вообще
кроме синглтонов равзе что
JloJle4Ka 14.09.2021 13:15 # +1
bormand 14.09.2021 13:18 # +2
bormand 14.09.2021 13:19 # +3
CHayT 14.09.2021 13:26 # +3
Desktop 14.09.2021 13:20 # 0
JloJle4Ka 14.09.2021 13:23 # 0
Desktop 14.09.2021 13:25 # 0
JloJle4Ka 14.09.2021 13:26 # 0
bormand 14.09.2021 13:34 # 0
CEHT9I6PbCKuu_nemyx 14.09.2021 13:36 # 0
guest6 14.09.2021 13:46 # 0
Desktop 12.09.2021 22:43 # +2
но потом вспомнил, что в Рэкете есть и есть
попробуй без шпаргалки разобраться, кто про что
CEHT9I6PbCKuu_nemyx 12.09.2021 22:46 # +1
Если бы было eqval и eqadr, я бы запомнил.
Desktop 12.09.2021 22:48 # 0
https://docs.racket-lang.org/rosette-guide/ch_essentials.html#%28part._sec~3aquerie s%29
Desktop 12.09.2021 22:48 # +1
guest6 12.09.2021 22:46 # +1
guest6 12.09.2021 20:06 # +2
bormand 12.09.2021 20:15 # 0
guest6 12.09.2021 20:17 # +1
bormand 12.09.2021 20:21 # 0
Слишком много динамических настроек в XML'ках, из-за которых структура проги непонятна до старта и хрен что оптимизнёшь?
OCETuHCKuu_nemyx 12.09.2021 20:40 # +1
bormand 12.09.2021 21:01 # +1
guest6 13.09.2021 01:01 # +1
Но там всё равно ест рефлексия, а это всё равно медленно.
Когда лодаер загружает класс, он записывает по каким адресам какие методы, а в случае рефлексии там нужно как-то по строке искать, и это долго, ну и джититься наверное оно хуже
Я видел как питух через ORM заполнял несколько десятков тысяч сложных объектов, и это реально создало боттлнек. Правда это было 15 лет назад
bormand 14.09.2021 13:21 # 0
> ORM
ORM'ы ведь тоже со "статической" конфигурацией на собачках, а не из базы или каких-нибудь хмлок? Тогда можно заранее всё разобрать и сгенерить код без рефлектора.
3.14159265 13.09.2021 01:26 # 0
Туда завели record (ворованный сишный struct).
https://govnokod.ru/27041#comment586191
Извиняйся перед джавашнёй, анскилябра.
bormand 12.09.2021 20:08 # +1
А вот тут сложный вопрос...
Я сварщица не настоящая, но от реюза объектов GC тоже может деградировать. Там же ссылки из старых поколений в новое начинают появляться, а они не бесплатные.
Вполне возможно, что создать-и-выбросить будет лучше по пирфомансу.
З.Ы. Блин, вот у вас там памятью управлять сложнее чем в крестах... Надо всякие умные статьи читать.
guest6 13.09.2021 00:59 # 0
Но джава-питухи обычно микрооптимизациями не занимаются.
Легенда гласит "мало живующие объекты бесплатны, ведь они попадают в минорный гц", и джавушки её повторяют.
3.14159265 13.09.2021 01:24 # 0
Лучше.
Лазить за ними в говнокеши тоже не бесплатно.
OCETuHCKuu_nemyx 12.09.2021 20:37 # +1
https://imgur.com/a/k7HPKIj
bormand 12.09.2021 20:41 # 0
Правда фамилию не могу угадать.
Soul_re@ver 12.09.2021 20:42 # +3
Desktop 12.09.2021 20:42 # +3
guest6 12.09.2021 20:44 # +3
bormand 12.09.2021 20:49 # +2
Steve_Brown 13.09.2021 12:47 # +1
OCETuHCKuu_nemyx 12.09.2021 20:46 # +2
CEHT9I6PbCKuu_nemyx 12.09.2021 20:49 # +2
CEHT9I6PbCKuu_nemyx 12.09.2021 21:05 # +3
CEHT9I6PbCKuu_nemyx 12.09.2021 20:54 # +3
guest6 12.09.2021 21:09 # +2
JloJle4Ka 13.09.2021 00:39 # 0
CEHT9I6PbCKuu_nemyx 24.09.2021 19:16 # 0
https://en.wikipedia.org/wiki/List_of_compilers#Java_compilers
С сайтов «EDG» и «SAP» информация куда-то исчезла.
«gcj» сгнил, в новые версии «gcc» его не вкладывают.
Айбиэмовский «Jikes» сгнил много лет назад.
«RemObjects» предлагает 30-дневную версию «Iodine».
Из халявных несгнивших остаются «javac» и эклипсовский «ecj». Ну ещё «ikvmc», но он весьма специфический, потому что предназначен не для «JVM», а для «.Net».
bormand 24.09.2021 19:22 # 0
З.Ы. Зачем вообще нужны альтернативные конпеляторы джавы? Они байткод лучше оптимизируют?
CEHT9I6PbCKuu_nemyx 24.09.2021 19:25 # 0
Надо проверять.
guest6 24.09.2021 19:28 # +1
JloJle4Ka 24.09.2021 19:32 # 0
bormand 24.09.2021 19:33 # 0
CEHT9I6PbCKuu_nemyx 24.09.2021 19:34 # 0
guest6 18.09.2023 18:08 # 0
j123123 24.09.2021 19:37 # +2
https://habr.com/ru/post/452066/
https://en.wikipedia.org/wiki/Excelsior_JET
Сибирская компания Excelsior стала «Excelsior at Huawei»
https://habr.com/ru/company/jugru/news/t/462281/
CEHT9I6PbCKuu_nemyx 24.09.2021 19:44 # +1
Ещё нашёл такую вещь:
https://github.com/polyglot-compiler/JLang
Пока ещё не выяснял, что он умеет.
guest6 24.09.2021 19:50 # 0
лол
JloJle4Ka 24.09.2021 19:52 # +1
j123123 25.09.2021 01:40 # +3
> GraalVM Native Image, allowing the ahead-of-time compilation of Java applications
3.14159265 25.09.2021 17:06 # 0
См. Geometric Mean Of All Test Results
https://www.phoronix.com/scan.php?page=article&item=openjdk-corretto-graalvm&num=5
Старый OpenJDK 8 сливает всю эту грааль питушню.
ropuJIJIa 05.09.2023 11:37 # 0
И на колени пал
И жадными глотками он
Из грааля сок хлебал!
Но в глазах мутнеет у него,
И бросает в жар,
Ведь это вовсе не грааль,
А обычный писуар.
ObeseYoung 24.09.2021 22:42 # 0
Это же L3 туннель через 53/udp
CEHT9I6PbCKuu_nemyx 25.09.2021 18:50 # +1
О языке «Mercury» я вроде раньше не слышал:
https://ru.wikipedia.org/wiki/Mercury_(язык_программирования)
ObeseYoung 25.09.2021 19:00 # 0
Desktop 25.09.2021 19:05 # +1
и если под винду есть дополнение для вижуалки, то на маке хуй (хотя это проблема xcode, на самом деле)
но в целом идея написать кроссплатформу на швифте интересная, только вот версия швифта там вроде была какая-то древняя
Desktop 25.09.2021 19:26 # 0
какую последнюю версию хрома можно поставить на семёрку и где её можно взять?
guest6 25.09.2021 19:27 # +3
Chrome ``Version 93.0.4577.82 (Official Build) (64-bit)``
Desktop 25.09.2021 19:36 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 19:49 # +1
А «Висте» не повезло: на ней не запускаются версии новее 49 из-за всего лишь одной отсутствующей функции в kernel32.dll.
Desktop 25.09.2021 19:56 # +1
наверное, фф тоже можно более-менее свежий поставить
а вот насчёт тимвьюера вопрос интересный
j123123 25.09.2021 19:58 # +1
CEHT9I6PbCKuu_nemyx 25.09.2021 20:02 # +2
Я на форумах видел, что в этом году некоторые до сих пор пользуются XP.
guest6 25.09.2021 20:03 # +1
Что угодно лучше Vista.
Win95 лучше Vista
Desktop 25.09.2021 20:04 # +2
она мимо меня как-то прошла, даже не могу обосрать или похвалить
CEHT9I6PbCKuu_nemyx 25.09.2021 20:05 # +2
3.14159265 25.09.2021 20:28 # +1
Поцверждаю.
Одни ныли: ой у меня в 98 можно свободно в порты срать, а XP всё анально огорожено.
Вторые негодовали: у меня NT4/2k прекрасно работает на 64/128Mb, а ваша ХР из-за свистоперделок лагает.
И кстати она до SP1 была дико глючная. Реальной годнотой она стала где-то к SP2, а в SP3 вообще получила культовый статус.
К тому моменту вышла недорогая DDR2 память и Core2 и ХРшечка на них летала. А ставить 2k не имело смысла, т.к. драйвера в новом железе и вся поддержка шли только для XP.
С другой стороны «Виста» реально блевотное говнище. Даже «ME» не такой фейл.
#МЕкни #ХРюкни #сВистни
CEHT9I6PbCKuu_nemyx 25.09.2021 20:33 # 0
А всё-таки, в чём главный фейл «Висты»?
3.14159265 25.09.2021 20:35 # 0
Edit: А ещё софт не весь работал.
7ка была и новее и быстрее. Хотя мне ни то, ни другое не нравится.
> NT4 и 2k и на 16/32 работали.
XP вроде и на 64 работала. Но это изврат.
CEHT9I6PbCKuu_nemyx 25.09.2021 20:43 # +1
Я на семёрке наблюдал тормоза не слабее, чем на Висте.
Глюков больше всего видел в 2k. Хотя она мне нравилась тем, что её в принципе можно было запустить даже на совсем старом железе.
Про fps в играх не в курсе, я не геймер.
Самое главное, что я заметил в «Висте», это то, что в ней старые вирусы не работают (из-за DEP, ASLR и вообще из-за изменения внутреннего устройства).
3.14159265 25.09.2021 20:51 # +1
Подтверждаю.
Все кругом её хвалили. Я поставил — мама дорогая, просто невозможно пользоваться.
> Самое главное, что я заметил в «Висте», это то, что в ней старые вирусы не работают
Я даже на XP практически не ловил ви-русню. Без антивируса. Отключенные говнослужбы и закрытые порты очень помогают.
> Я на семёрке наблюдал тормоза не слабее, чем на Висте.
Личного опыта с 7 у меня почти нет. Больше с чужих отзывов.
Вроде там DirectX как-то допилили, игры быстрее стали работать.
В целом по ОС, сколько людей столько и мнений.
Встречал и людей, которые страшно хвалили ME, и фанатов 2k.
Даже встречал адепта NT4 SP5 (вот там слабое железо, да). Мне ещё объясняли что SP4 и SP5 для NT4 хорошие, а в SP6 M$ специально изгадила годную систему.
CEHT9I6PbCKuu_nemyx 25.09.2021 20:56 # 0
По моему наблюдению больше всего помогает не запускать программы из сомнительных источников.
guest6 25.09.2021 20:54 # 0
W2k без SP4 не нужна
3.14159265 25.09.2021 20:39 # 0
Лично я через несколько после её выхода постепенно пересел на Луникс.
При том что до того мне нравился Microsoft.
guest6 25.09.2021 20:44 # +1
Правда там не работал RDP сервер (в prof), не поддерживался WPA2 (в XP до SP2 тоже) не было файрвола (в XP до SP2 тоже) и вообще XP до SP2 не нужна
CEHT9I6PbCKuu_nemyx 25.09.2021 20:46 # +1
guest6 25.09.2021 20:49 # +2
Причем были вещи, которые я даже осознать-то в тот момент не мог: залазиш в "администрирование", а там "координатор распределённых транзакций" и "сервера COM+"
И ты такой: ЧТОБЛЯ?
CEHT9I6PbCKuu_nemyx 25.09.2021 20:58 # 0
3.14159265 25.09.2021 20:56 # 0
На первый взгляд да (на самом деле нет).
Легковесная система — NT4.
Понадёжнее и новее — XP.
А 2k вот все хвалят, а она ни туда, ни сюда. И глючная к тому же.
Desktop 25.09.2021 20:57 # 0
guest6 25.09.2021 20:59 # 0
3.14159265 25.09.2021 20:59 # +1
Да. А до этого NT3.5 (честно в дикой природе, не видел).
У M$ было джве линейки:
95=> 98 => Me (десктопная, больше заточенна на игры и поддержку старого DOS софта)
NT 3.5 => 3.51 => 4.0 (серверная, стабильная система, но без 16-битных плюшек)
2k и XP плод их смешения.
guest6 25.09.2021 21:02 # +1
95->98->Me была частично 16-ти разрядная, опирающаяся на сервисы BIOS, и так назыааемая "консмьюмерская"
NT была написала с ноля по архитектуре напоминая VMS, и была она как-бы "для энтерпрайза"
Она была не только серверная: был NT workstation.
Из него вышел Win 2000 Prof, из него XP итд.
А вот клиентами серверных систем могли быть как NT Workstation, так и Win95/98/Me.;
ps: NT Workstation был нужен например потому, что он умел NTFS (4.0 что-ли) и вот FAT не умел без SP кстати.
В win9x ты мог тупо не зайти в домен, и читать локальные файлы, а в NT не мог
CEHT9I6PbCKuu_nemyx 25.09.2021 21:14 # 0
> вот FAT не умел без SP кстати
NT4 умел FAT12 и FAT16 помимо NTFS. Поддержку FAT32 добавили в двухтоннике. Возможно, и старой системой можно было смонтировать FAT32, если где-нибудь драйвер достанешь, только вот установить систему на FAT32 до двухтонника было нельзя.
guest6 25.09.2021 21:25 # 0
Архитектурно она напоминала VMS, потому что её пилили те же чуваки (Дейв Катлер и ко).
Руссинович потому и знал NT, что знал VMS, и даже статья была на Dr.Dobbs, где говорилось, что у систем очень много общего.
OS/2 должна была стать одним из API NT (на равне с win32)
>FAT32
точно)) Если бы он не мог в fat16/12, то не читал бы дискет
Поддержку FAT32 добавили в W2k и кажется в шестом что ли SP к NT4
CEHT9I6PbCKuu_nemyx 25.09.2021 21:02 # 0
ObeseYoung 25.09.2021 21:18 # 0
И вот том как раз файрвода не было
CEHT9I6PbCKuu_nemyx 25.09.2021 21:10 # 0
Были в NT и NTVDM (мумулятор ДОСа) и WOW (мумулятор 16-битного WinAPI). Другое дело, что NTVDM была именно мумулятором, а в 95/98/Me всё было наоборот: сначала стартовал DOS (модифицированный; Win 3.x для сравнения использовали оригинальный), потом Windows переключала процессор в защищённый режим, а DOS сажала в V86, при этом Винда сама пользовалась функциями DOS и BIOS, если у неё для чего-то отсутствовал драйвер. NT так не умела, у неё вышестоящего ДОСа не было.
CEHT9I6PbCKuu_nemyx 25.09.2021 21:04 # 0
guest6 25.09.2021 21:06 # +2
Реальные сети на NT появились к концу 90-х, и это уже была NT 4
CEHT9I6PbCKuu_nemyx 25.09.2021 21:35 # 0
guest6 25.09.2021 21:39 # 0
У нас во дворце пионеров на think ethernet (10 мегабит коаксиал) была сетка. Топология была кольцевая. Год был 1998-й, и сеть там уже существовала пару лет к тому моменту
guest6 25.09.2021 20:58 # +1
В w2k все таки лучше работали современные протоколы: SMB поверх TCP, DNS и LDAP в AD..
>И глючная к тому же.
с SP4 не было у меня глюков
ObeseYoung 25.09.2021 21:03 # 0
И ТЕ4 падучаая
guest6 25.09.2021 21:04 # +1
Там были какие-то говнофильтры для ручного затыкания портов, и нужно было ставить ZoneAlarm.
Без него W2k в Интернете жила примерно пятнадцать минут
guest6 25.09.2021 20:07 # +1
*
> The driver model used in Windows Vista required that every GDI window be backed by both a video memory surface and a system memory surface. This resulted in system memory being used for every GDI window.
https://docs.microsoft.com/en-us/windows/win32/direct2d/comparing-direct2d-and-gdi
CEHT9I6PbCKuu_nemyx 25.09.2021 20:09 # 0
Почему нет такого взрыва пуканов от семёрки? Потому что все уже привыкли к тормозам или потому что к моменту выхода семёрки появилась техника помощнее?
guest6 25.09.2021 20:11 # +1
нет, не такая же
http://www.notebookreview.com/news/windows-7-vs-windows-vista-performance-comparison/
одну из причин (про GDI) я выше написал
CEHT9I6PbCKuu_nemyx 25.09.2021 20:18 # 0
Да, пожалуй, не такая же.
Desktop 25.09.2021 21:16 # 0
– есть какая-то ось, которая не будет тормозить на нетбуке?
CEHT9I6PbCKuu_nemyx 25.09.2021 20:13 # 0
Приведи реальные примеры.
У меня на Висте куча софта перестала работать только сейчас (причину я указал выше в примере с «Хромом»).
guest6 25.09.2021 20:16 # +3
людям понадобилось лет пять переписать софт , а там уже и семёрку завезли
CEHT9I6PbCKuu_nemyx 25.09.2021 20:23 # +1
К сожалению, не проверял такую кобенацию.
Во-первых, я чаще пользовался «Гимпом» и «R&Q». А во-вторых, UAC почти сразу отключил, потому что у меня была слабая машина.
Вообще не понимаю зачем на своей машине нужен UAC? Вон ротоёб сидит везде под рутом и течёт.
bormand 25.09.2021 20:51 # 0
AppArmor в прыщах тоже отключаешь?
Desktop 25.09.2021 20:54 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 20:59 # 0
Desktop 25.09.2021 21:00 # 0
но я не ротоёб, так что да, у него не $, а £E
guest6 25.09.2021 21:05 # 0
Desktop 25.09.2021 21:07 # 0
guest6 25.09.2021 21:23 # 0
у sh и его наследников обычно "$ " приглашение юзера, а "#" у рута. Но это настраивается в PS1.
У zsh (который теперь на маке) может быть иначе.
А у csh и его наследников шел рута выглядел как "% "
ObeseYoung 25.09.2021 21:24 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 20:59 # 0
guest6 25.09.2021 21:00 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 21:18 # 0
3.14159265 25.09.2021 21:17 # +1
Я помню времена даже Win95 ругали, что жрёт много памяти и глючит.
Постоянно жаловались что всякий софт вылетает, результаты работы теряются.
И говорили что лучше сидеть в ДОСе или 3.11
guest6 25.09.2021 21:23 # 0
guest6 25.09.2021 21:29 # 0
а еще все ненавидели DOS 4.0
CEHT9I6PbCKuu_nemyx 25.09.2021 21:30 # 0
Был IBM PC DOS 7.0. В нём некоторые программы работали быстрее, чем в MS DOS. Был даже PC DOS 7.1 с поддержкой FAT32, но никто эту версию целиком не видел, только дискету с демкой.
Был DR DOS 7.x с наворотами вроде прав доступа к директориям, с мультитаскером. Его много раз переименовывали: то Novell, то Caldera, то Lineo.
guest6 25.09.2021 21:34 # 0
Был еще smartdrv -- буфер, ускоряющий ФС
7.0 помню только MS-DOS (так он назывался в w95), PC-DOS я видел только мельком
CEHT9I6PbCKuu_nemyx 25.09.2021 21:38 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 21:23 # 0
Вроде даже на Win 3.1 ругались, что на машине с 4 МБ оперативки ей пользоваться невозможно.
guest6 25.09.2021 21:27 # 0
В XP грузить сервисы стали параллельно, и всё ускорилось (но с тех пор индикатор загрузки перестал иметь значение)
Desktop 25.09.2021 21:33 # +1
– и как это поможет на одноядерной машине?
3.14159265 25.09.2021 21:34 # 0
Ожидание сетевого ответа, ожидание hdd.
guest6 25.09.2021 21:35 # +1
Desktop 25.09.2021 21:38 # 0
guest6 25.09.2021 21:41 # +1
Если у тебя загрузка сервиса упирается в HDD, а не в CPU, то логично грузить их параллельно: пока один ждет загрузки диска, другой что-то считает на CPU
Да и диску лучше получить много запросов, и как-то их обслужить. Если у тебя SATA, то у тебя есть NCQ. У SCSI тоже была какая-то ткая же тема.
Кстати, во времена w2k уже был гипер-трединг. У меня в P4 Northwood точно был
Desktop 25.09.2021 21:42 # 0
– про одно ядро был вопрос
guest6 25.09.2021 21:43 # 0
У тебя один процесс послал команду HDD, и ждет пока тот прокачает данные в память через DMA, и дёрнет прерывание.
А в это время шедулер дает CPU другому процессу, который тоже что-то делает.
Вот если у тебя PIO, а не DMA, то всё намного хуже
Desktop 25.09.2021 21:45 # 0
– это происходит без участия cpu? я не шарю просто
CEHT9I6PbCKuu_nemyx 25.09.2021 21:49 # +1
j123123 25.09.2021 22:26 # 0
guest6 25.09.2021 22:28 # 0
bormand 25.09.2021 22:33 # 0
Когда как. Для мелочи в духе SPI или UART юзается общий контроллер DMA, для быстрых девайсов в духе USB или сетевухи уже сама железка может быть bus master.
guest6 25.09.2021 21:51 # +4
В классическом случае загрузка данных выглдит так:
* послать команду "считать 1 байт" в порт устройства
* считать данные из порта в память
* повторить
Это пиздец как медленно, потому что CPU занят вот этой вот хуйней.
Потому придумали DMA.
В шине ISA было отдельное устройство, которое можно было запрограммировать, и оно занималось ровно этой хуйней, а CPU в это время занимался делом.
Так работали звуковые карты в те времена (иначе процессор бы не мог играть музыку в игре и обрабатывать game loop одновременно)
В более современных шинах устройствам дали возможность напрямую писать в память, и теперь ОБЫЧНО устройства работают так:
* Выделаешь кусок оперативки
* Грузишь её адрес в порт устройства
* Просишь загрузить по этому адресу мегабайт данных
* Занимаешься своими делами
Устройство грузит данные, и дергает прерывание.
Это позволяет CPU заниматься полезными делами, пока контроллер диска пишет в память.
В тред приглашается Борманд для объяснения как это всё работает
bormand 25.09.2021 21:53 # +1
См. выше.
CEHT9I6PbCKuu_nemyx 25.09.2021 21:59 # 0
А тот самый DMA на материнке использовался режимами Singleword/Multiword DMA, которые появились в промежутке между PIO и UDMA.
Так или я что-то наврал?
Desktop 25.09.2021 22:02 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 22:06 # 0
А на многих материнках для 80486 карточку с контроллером IDE ещё надо было втыкать отдельно.
guest6 25.09.2021 22:13 # +1
Затем их переименовали в memory hub и perephirical hub.
Объединяла их шина Direct Media Interface (или Hyper Transport в случае AMD).
Хабы по старинке называли "мостами", пока "северную" часть не уделали в CPU сначала AMD, а затем и Штеуд.
Классическую раскладку (где каждый компонент был отдельным чипом) можно увидеть разве что в первых PC.
Кстати, IDE изначально был просто "удлиненной" шиной ISA, и ничегм от него не отличался
CEHT9I6PbCKuu_nemyx 25.09.2021 22:22 # 0
Про интерфейсы HDD мы на «ГК» писали: у MFM/RLL винчестер был тупым, там был моторчик и головка, а вся электроника была на карточке, вставлявшейся в материнку.
Потом WD и Seagate додумались электронику перенести из карточки в винчестер. Винчестер стал сложным, как компьютер.
guest6 25.09.2021 22:26 # 0
guest6 25.09.2021 22:06 # +1
UDMA уже был встроен в контроллер IDE, и с точки зрения шины это был обычный bus mastering, то есть устрйоство само ходило в память.
Но такое стало возможно только в PCI. То есть до PCI (в классической ISA) место устройства было у параши, оно было пассивным, и читать из него мог или CPU, или DMA (Intel 8237).
А уже в PCI стало возможно устройству самому ходить в память, и появился UDMA, и вот он уже всегда круче, чем PIO
CEHT9I6PbCKuu_nemyx 25.09.2021 22:14 # 0
guest6 25.09.2021 22:23 # +1
Устройства подключали свои дешифраторы к шине, и "узнавали" свои адреса.
Встроенных средств для PnP не было, так что у самых древних устройств адреса нужно было или задавать или программно, или аппаратно через DIPы и джамперы.
Задачки типа "подключи четыре сетевых карты и две звуковых карты к PC" могли быть и вовсе нерешаемы.
Потом ввели протокол ISA PnP, но поддерживали его далеко не все устройства
>но не могло само обращаться к памяти, потому что инициатором выбора был процессор.
ну или тот самый DMA, угу.
Тут наверное надо еще рассказать про невозможность зашарить прерывания по причине level trigger vs edge trigger, но ты наверное и так это знаешь.
CEHT9I6PbCKuu_nemyx 25.09.2021 22:40 # 0
Я в «Doom2D» играл со звуком в писи-спикере, а в нём нету никаких «DMA».
guest6 25.09.2021 23:28 # 0
Он еще более-ли-менее играет. А ты запусти на спикере PCM и всё станет раком
CEHT9I6PbCKuu_nemyx 25.09.2021 23:32 # 0
Это на звуковой карте midi играть проще: там есть либо аппаратный FM-синтезатор, либо память сэмплов.
guest6 25.09.2021 23:34 # 0
Синтезатор миди встроен в звуковуху же
CEHT9I6PbCKuu_nemyx 25.09.2021 23:36 # 0
CEHT9I6PbCKuu_nemyx 25.09.2021 21:44 # 0
guest6 25.09.2021 21:47 # 0
В семерке завезли ReadyBoot, который пытался построить бутплан, и расположить данные на диске так, чтобы грузить их последовательно.
Наблюдать это можно было утилитой xperf, которая срала лог через ETW.
На харбе есть платиновая статья "ускоряем загрузку Windows" от win-гуру
CBuHOKYP 26.09.2021 22:50 # 0
_____________________
raw date:
01. Stack overflow
3.14159265 25.09.2021 21:34 # 0
Кстати прыщебляди освоили это только спустя 10 лет с выходом systemd / upstart / etc.
guest6 25.09.2021 21:35 # +2
А upstartы не умели так делать?
3.14159265 25.09.2021 22:51 # 0
bormand 25.09.2021 22:58 # +1
У всего есть своя цена... Последовательная загрузка намного предсказуемее, не разваливается от криво проставленных зависимостей или внезапных гонок.
guest6 25.09.2021 23:15 # +1
Я видел зависший sendmail, который пытался узнать свой domain name, а bind еще не загрузился.
Другой вопрос, что дебажить последовательную загрузку в миллион раз проще
bormand 25.09.2021 23:16 # +1
Ну вот я как раз про это. Если оно один раз нормально прогрузилось, скорее всего и на следующий раз нормально прогрузится.
А с параллельной можно забыть какую-нибудь зависимость, но всё какое-то время будет работать т.к. обычно она грузится вовремя.
Хотя стандартные сервисы, конечно, уже давно отладили.
Desktop 25.09.2021 20:08 # +1
> пользуются XP
логично
Desktop 05.09.2023 12:01 # 0
guest6 05.09.2023 13:33 # 0
ropuJIJIa 05.09.2023 13:52 # 0
Desktop 05.09.2023 14:04 # 0
guest6 05.09.2023 13:33 # 0
он папиного phpbb и дедушкиного юзнета отличается тем, что тормозит и весит в сто и в тысячу раз больше соответственно.
ropuJIJIa 05.09.2023 13:51 # 0
guest6 05.09.2023 14:11 # 0
Реально рак
CEHT9I6PbCKuu_nemyx 18.09.2023 00:20 # 0
https://ntc.party/t/5685
Desktop 18.09.2023 00:37 # 0
CEHT9I6PbCKuu_nemyx 18.09.2023 00:51 # 0
Desktop 18.09.2023 01:00 # +2
Питуху там советуют Линукс поставить, а он жопкой к тотал коммандеру приклеился лол
CEHT9I6PbCKuu_nemyx 18.09.2023 01:07 # 0
guest6 18.09.2023 02:03 # 0
Desktop 18.09.2023 13:27 # 0
guest6 18.09.2023 18:00 # 0
guest6 18.09.2023 18:07 # 0
CEHT9I6PbCKuu_nemyx 18.09.2023 18:42 # +1
Если тебе нужен буфер для правки, используй любой текстовый редактор, но не хуз.
Вротпресс — говно.
Desktop 18.09.2023 13:29 # 0
А зачем? Зачем заходить на форум с устаревшего ПО, когда единственным препятствием к использованию актуальной версии является ваше нежелание или лень, а не технические проблемы или аппаратная несовместимость?
Это не ретро-сообщество, где обеспечивать подобную поддержку было бы разумно.
У меня есть вопросы к политике версионирования и использования самых новых функций браузеров в Discourse, но самостоятельно поддерживать совместимость со старыми браузерами для буквально, может, трех участников форума у меня нет никакого желания.
К тому же, можно постить через email.
---
съел да?
кстати, это валдик
Desktop 18.09.2023 13:30 # 0
CEHT9I6PbCKuu_nemyx 18.09.2023 13:32 # 0
guest6 18.09.2023 16:04 # 0
guest6 18.09.2023 14:54 # 0
Desktop 05.09.2023 14:47 # 0
зачем ты сидишь на форумах?
guest6 05.09.2023 14:51 # 0
Desktop 05.09.2023 15:31 # 0
guest6 05.09.2023 15:46 # 0
Desktop 05.09.2023 16:06 # 0
расскажи, как правильно пользоваться почтовыми рассылками
guest6 05.09.2023 17:06 # 0
Ну типа послал вопрос на рассылку, получил ответы, почтовый клиент через спец-заголовок собрал их лесенку, почитал ответы, всё.
Архивы рассылок обычно доступы через веб-морды, там можно искать.
Desktop 05.09.2023 17:23 # 0
давайте перепишем гк на такую шнягу
guest6 05.09.2023 18:54 # 0
головок.
ObeseYoung 25.09.2021 19:54 # 0
Desktop 25.09.2021 19:56 # 0
guest6 12.09.2021 21:21 # +1
guest6 12.09.2021 21:31 # +1
CEHT9I6PbCKuu_nemyx 12.09.2021 21:42 # 0
Steve_Brown 13.09.2021 12:50 # +3
ASD_77 13.09.2021 12:59 # +2
bormand 13.09.2021 13:24 # +3
Desktop 13.09.2021 13:41 # +2
это тот мужик, про которого лолечка рассказывал? [self fuck]?
guest6 13.09.2021 16:03 # +3
какой objc ))
JloJle4Ka 13.09.2021 16:12 # 0
guest6 13.09.2021 16:17 # 0
код не рабочий
JloJle4Ka 13.09.2021 16:17 # 0
guest6 13.09.2021 16:18 # +2
гне?
JloJle4Ka 13.09.2021 16:22 # 0
guest6 13.09.2021 16:24 # +2
а блядь
я не понял шутку просто)))
теперь понял. Ты написал ровно то, что и планировал написать
JloJle4Ka 13.09.2021 16:26 # 0
CEHT9I6PbCKuu_nemyx 13.09.2021 16:26 # +2
https://en.m.wiktionary.org/wiki/samojebka
Desktop 13.09.2021 16:42 # 0
– под пледиком?
JloJle4Ka 24.09.2021 19:36 # 0
И самое обидное, что VPN для просмотра этой картинки я скачал только сегодня...
Desktop 25.09.2021 19:05 # 0
JloJle4Ka 25.09.2021 19:14 # 0
j123123 25.09.2021 19:33 # 0
Desktop 25.09.2021 20:01 # 0
j123123 25.09.2021 20:44 # 0
Desktop 25.09.2021 21:14 # 0
j123123 25.09.2021 21:25 # 0
Desktop 25.09.2021 22:02 # +1
bormand 25.09.2021 22:06 # 0
Да там достаточно теги в конце ссылки прочитать, картинку открывать не обязательно...
j123123 25.09.2021 22:07 # 0
Desktop 18.09.2023 17:19 # 0
CEHT9I6PbCKuu_nemyx 18.09.2023 17:38 # 0
Desktop 18.09.2023 17:40 # 0
CEHT9I6PbCKuu_nemyx 13.09.2021 13:58 # +2
https://aliexpress.ru/item/4000368662890.html
j123123 13.09.2021 14:11 # +4
https://i.imgur.com/NYFHnFK.jpg
Desktop 13.09.2021 14:15 # +3
Soul_re@ver 13.09.2021 15:03 # +2
JloJle4Ka 13.09.2021 15:59 # 0
guest6 13.09.2021 16:01 # +2
https://docs.tryton.org/projects/server/en/latest/topics/pyson.html
Desktop 12.09.2021 22:31 # +3
CEHT9I6PbCKuu_nemyx 25.09.2021 19:53 # 0
guest6 05.09.2023 14:55 # 0
guest6 05.09.2023 14:56 # 0
OCETuHCKuu_nemyx 05.09.2023 20:38 # 0
Desktop 05.09.2023 20:40 # 0
guest6 05.09.2023 20:51 # 0
Desktop 05.09.2023 20:51 # 0
ropuJIJIa 05.09.2023 20:59 # 0
Desktop 05.09.2023 21:00 # 0
guest6 05.09.2023 20:42 # 0
чувак 13 лет к ряду на время красно-черные деревья с ноля реализует на сишке?
крутан!
OCETuHCKuu_nemyx 05.09.2023 20:36 # 0
guest6 05.09.2023 20:39 # 0
Смотри, какие ништяки завезли
* Enhanced Pseudo-Random Number Generators
* Deprecate the Applet API for Removal
* Remove RMI Activation
* Remove the Experimental AOT and JIT Compiler
* Deprecate the Security Manager for Removal
прямо хочу уже на нее перейти
ropuJIJIa 05.09.2023 20:45 # 0
GovnokodGovno 05.09.2023 20:48 # 0
guest6 05.09.2023 20:49 # 0
Кстати, я недавно реально мегабайты записывал через сдвиг на двадцать, потому что я хз как иначе их записывать.
Desktop 05.09.2023 20:51 # 0
guest6 05.09.2023 20:52 # 0
Desktop 05.09.2023 20:52 # 0
guest6 05.09.2023 20:54 # 0
Desktop 05.09.2023 20:57 # 0
потом beeper 600
ну а потом, если кричало ещё будет свободно, то и всю 1000!
guest6 19.09.2023 14:27 # 0
guest6 05.09.2023 20:54 # 0
guest6 05.09.2023 20:59 # +2
ropuJIJIa 05.09.2023 21:04 # 0
guest6 05.09.2023 21:07 # 0
Опотный джавист вынес бы этот метод в интерфейс, чтобы ловко подменять его в тестах
guest6 05.09.2023 20:48 # 0
guest6 18.09.2023 15:22 # 0
ywoykry77.com
yx247.com
yx7pokerdom.com
yy7pokerdom.com
yylab.com
yywjk.com
yzer.world
yzvar.website
z00y.com
z13zfm6.icu
z1.fm
z1fm.club
z1fm.online
z1fm.ru
z1v.ru
z200.fm
z2.fm
z360gov.ru
z3.fm
z4z-akf.ru
z542.info
z7z7z.net
z941.info
za4itaika.ru
za7pokerdom.com
za7zamkami.com
za-afriku.ru
zabaka.tv
zabalabes.ru
za-baranku.ru
zabastovka2011.ru
zaberi-bonusi.fun
zaberi-bonusi.site
zabioren.com
zab-iskra.com
zaborona.com
zabota-zdrav.ru
zabteh-iskusstv.ru
zabudovnyk.com.ua
za.bz
zachhugheslakeforkguide.com
zachteno.net
zaciopet.com
zaclip.com
za.com
zadedamoroza.ru
zadniza.com
zadrochi.me
zadrochi.net
zae24.biz
zaebistv.com
zaebistv.net
zaebu.net
zaebun.top
zafontan.ru
zaglazeyka.ru
zagonka-1368.club
zagonka-1368.cyou
zagonka-2262.site
zagonka7.com
zagonka-838.site
zagonka.bond
zagonka.cam
zagonka.click
zagonka-l.site
zagonka.net
zagonka.online
zagonka.org
zagonka.sbs
zagonka.tv
zagonka-tv.com
zagonka-z.site
zagonk.com
guest6 18.09.2023 18:49 # 0
CEHT9I6PbCKuu_nemyx 18.09.2023 19:14 # 0
К слову:
Decision 133607 made on 2021-11-02 by Роспотребнадзор.
This block affects IP 185.152.212.162, domain kloop.kg and URL https://kloop.kg/blog/2021/10/28/suitsid-22-letnego-munarbeka-v-bishkeke-chto-izvestno/
По злополучной ссылке уже 404, но блокировку не сняли.
Desktop 19.09.2023 12:30 # 0
отличное название для панк-группы
3oJIoTou_xyu 19.09.2023 12:39 # 0
guest6 19.09.2023 13:34 # 0
guest6 19.09.2023 13:34 # 0
CEHT9I6PbCKuu_nemyx 19.09.2023 14:21 # 0
guest6 19.09.2023 14:23 # 0
guest6 18.09.2023 23:53 # 0
3oJIoTou_xyu 19.09.2023 12:13 # 0
guest6 19.09.2023 13:39 # 0
CEHT9I6PbCKuu_nemyx 19.09.2023 13:51 # 0
Домик имел и холсты (в простом смысле).
Но он актрису любил,
Ту, что любила цветы (в простом смысле).
guest6 19.09.2023 13:53 # +1
CEHT9I6PbCKuu_nemyx 19.09.2023 13:55 # 0
Трубач выдувает медь.
Думайте сами, решайте сами,
Иметь или не иметь.
guest6 19.09.2023 15:09 # 0
Был Арцах -- станет Карабах