- 1
- 2
- 3
- 4
- 5
// добавляем новые ссылки
for i := 0 to ATags.Count - 1 do
begin
// так мне кажется лучше
Application.ProcessMessages;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
// добавляем новые ссылки
for i := 0 to ATags.Count - 1 do
begin
// так мне кажется лучше
Application.ProcessMessages;
кому или чему лучше кроме тебя, автор ?
Ну а в делфи выбора тупо не было.
или это геймлуп?
Заблочить UI прогрессбаром (чтобы юзер никуда не тыкнул) и дёргать ProcessMessages (чтобы не висело) на порядок проще.
Скорее эмуляция старой доброй однозадачной системы. Когда можно было просто нарисовать юзеру прогрессбар с кнопочкой отмены и заняться расчётами, периодически проверяя мышку с клавой.
Блядь, как всё сложно.
- послать сигнал снаружи через соотв. пин процессора
- кинуть IPI через APIC (но во времена DOS его не было)
Во времена «четвёрок» и первых «пней» «DOS» ещё активно использовали.
Лол, ты мне напомнил очень смешное предсказание создателя OCaml [1]:
Самая мякотка:
> Shared-memory multiprocessors have
never really "taken off", at least in the general public. For large
parallel computations, clusters (distributed-memory systems) are the
norm. For desktop use, monoprocessors are plenty fast. Even if you
have a 4-processor SMP machine, it isn't clear whether you should
write your program using shared memory or using message passing -- the
latter is slightly more expensive, but scales to clusters...
> What about hyperthreading? Well, I believe it's the last convulsive
movement of SMP's corpse :-) We'll see how it goes market-wise. At
any rate, the speedups announced for hyperthreading in the Pentium 4
are below a factor of 1.5; probably not enough to offset the overhead
of making the OCaml runtime system thread-safe.
[1] https://groups.google.com/forum/?_escaped_fragment_=msg/fa.caml/0CN8LIYDX0Y/xMsXNbB5csoJ
(запрещённой на территории с++ организации)
Не усложнив скорость и не уронив код.
> не уронив скорость
^___~
https://stackoverflow.com/questions/41565219/why-can-using-slots-make-attribute-access-faster
Какая вообще самая быстрая скриптуха сейчас? JS с JITом?
Именно поэтому я за «Numba».
но джитится, понятное дело, далеко не всё)
Емнип, там нужно поставить в памяти спец трамплин, и послать IPI другим ядрам. Они проснутся, полезут в трамплин, ну и дальше куда он их направит
Нет. Можно всё повыше закинуть. Ну кроме трамплинов в реалмод и обратно, если они нужны.
Код по запуску второго ядра у меня где-то был. А вот флешки с досом, к сожалению, нету.
Нон коммент не точный, так что не нагуглить
https://cateee.net/lkddb/web-lkddb/LOGO.html ?
Это параметр CONFIG_LOGO ядра, угу
Ну вот ща на виртуалке врубил 12 (больше не могу), получил 12 пингвинов))
Так что может и покажет
https://www.gamedev.ru/code/forum/?id=19939
Тот самый код на второй странице.
На других экранах ты можешь другой код написать при желании.
Геймдев - очень скучное занятие, походу.
но там нужно название функции по короче выбрать, иначе не пролезет. Потому в сишке такие короткие названия обычно?
Вот стек же может на разных архитектурах в разную сторону расти, и байтордер может быть разный.
Если я пишу под Sparc, то у меня код вверх идет, или в бок?
А потом под 64 пришлось переделывать
думаю, препроцессор использовать, чтобы он эти переносы строк встапвлял
Пиксельные шейдеры на Piet программируют, в MS Paint.
То приложение, из которого процитирован этот фрагмент говнокода, просто напичкано асинхронными событиями, базирующихся в том числе и на оконных сообщениях основной нити, и бездумное впендюривание в свой цикл такой огульной обработки может повлечь (и по факту влечет) за собой нарушение ожидаемой последовательности их обработки.
Сам же по себе Application.ProcessMessages не есть проблема, если он используется по уму, осознанно и только там где без него действительно сложно обойтись по объективным причинам
Эти причины говнокодеру и следовало хотя бы кратко изложить ув комменте вместо своего школотного "кажется"
Рекомендую не рекомендовать.
Процессмессагес можно смело юзать, не забывая блокировать контролы, иначе возможен повторный вход в обработчики.
Можно было сделать так:
После чего форма начинает корректно реагировать на закрытие. Правда, больше ничего с ней сделать нельзя. И тем не менее, это не говнокод.
heavyweight это нативное окошко операционки, которое получает от нее события, и перенаправляет их в джаву.
Внимательный читатель сразу доагадется, чего не учли авторы компонента:
https://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseWheelEvent.html#getWheelRotation()
https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-mousewheel (wParam)
Асинхронный код выглядит как обычный код, а не целебный обмаз колбэками.
> и для чего конкретно он подойдёт?
Для любого сетевого кода
[1] http://yaws.hyber.org/dynamic.yaws
Если анальные логи ведутся и формально допуск к данным одобрен, то не отрезают. Девопс культура, мать её.
Ты про масштабирование серверов?