Мохнатые уроды и моральные пёзды. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.0 пользователей не могут ошибаться!
?6942
прекрасное6443
говно5905
говнорашка5512
хуита4716
anime3066
linux2652
music2635
bnw2602
рашка2565
log2354
ололо2174
дунч1832
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1419
дыбр1238
гімно1158

PAUSE
Spin Loop Hint

Improves the performance of spin-wait loops. When executing a "spin-wait loop," a Pentium 4 or Intel Xeon processor suffers a severe performance penalty when exiting the loop because it detects a possible memory order violation. The PAUSE instruction provides a hint to the processor that the code sequence is a spin-wait loop. The processor uses this hint to avoid the memory order violation in most situations, which greatly improves processor performance. For this reason, it is recommended that a PAUSE instruction be placed in all spin-wait loops.

An additional function of the PAUSE instruction is to reduce the power consumed by a Pentium 4 processor while executing a spin loop. The Pentium 4 processor can execute a spin-wait loop extremely quickly, causing the processor to consume a lot of power while it waits for the resource it is spinning on to become available. Inserting a pause instruction in a spin-wait loop greatly reduces the processor's power consumption.

This instruction was introduced in the Pentium 4 processors, but is backward compatible with all IA-32 processors. In earlier IA-32 processors, the PAUSE instruction operates like a NOP instruction. The Pentium 4 and Intel Xeon processors implement the PAUSE instruction as a pre-defined delay. The delay is finite and can be zero for some processors. This instruction does not change the architectural state of the processor (that is, it performs essentially a delaying no-op operation).

#7O3DFJ (2) / @ninesigns / 3915 дней назад

tfw костыль спрятанный в коде два года назад выстреливает и оказывается пулемётом Гатлинга

#5CY6XW (0) / @hirthwork / 3917 дней назад

define struct union

#Z77CU6 (1) / @ninesigns / 3920 дней назад

самое сложное в переходе с плюсов или жабки на сишечку — это перестать
испытывать стыд при употреблении в коде goto при обработке ошибок. Серьёзно, в
пизду этот спагетти-код, когда можно просто относиться к тому что находится за
goto как к finally секции или деструктору. просто тут код деструктора
расположен прямо в теле функции.
при грамотном использовании goto код становится линейным и легко читаемым

#K8A6CE (2) / @hirthwork / 3922 дня назад

восемь лет назад я охуевал от ебанутости нортелевских стайлгайдов касательно именования функций, файлов и вообще. прошло восемь лет и я начал понимать, что стайлгайды-то были неплохие и для них были причины

#5GG0SU (6) / @hirthwork / 3922 дня назад

Когда я пишу на чистом C, чувство ясности происходящего переполняет меня.
Набирая очередную строчку я уже ясно вижу в какой набор ассемблерных инструкций
она превратится и как её может соптимизировать компилятор. Я вижу не
for(i = 0...), а ассемблерный loop со счётчиком в ecx, я вижу не if (ptr),
а test и jz, я не творю не магию набирая магические буковки, а явственно
осознаю что я делаю. В такие моменты я чувствую себя творцом, а не колдуном.
Именно поэтому, спустя семь лет хардкорного программирования я смог слезть с
иглы C++ и обратиться в истинную веру.

#BJTZ1K (2+2) / @hirthwork / 3922 дня назад

а какие нынче модные функциональные языки без lazy evaluations и компилируемые?

#B9TZRA (7) / @hirthwork / 3922 дня назад

Вся документация по JNI — сплошное пиздобольство.
Смотрим описание функции GetArrayLength
Что сказано про кидаемые исключения? Ничего. Ну не кидает. Ок, смотрим в код.
Смотрим в код. Hot Spot JVM кинет IllegalArgumentException, Cacao JVM — NPE.
Вот кому после этого верить?

#PZ7XCY (1) / @hirthwork / 3924 дня назад

racket 6.0 вышел:

* новый пакетный манагер
* базавая установка распилена на > 200 пакетов
* компилятор JIT для arm
* значительный улучшения производительности в typed/racket
* Новый профайлер для контрактов сообщает как долго проверяются контракты.
(дохера важная фича кстати)

http://blog.racket-lang.org/2014/02/racket-v60.html

#NPREW7 (5) / @ninesigns / 3924 дня назад

уняня, самописный base64 декодер на джаве работает быстрее чем редхатовский /usr/bin/base64 (на 15% быстрее base64 -d, в два раза быстрее чем base64 -di). где ваше «КОКОКО ЖАБКА ТОРМОЗА» теперь?

#0DNWBA (57+1) / @hirthwork / 3924 дня назад

Палю ультрагодноту по интерпретаторам
The Structure and Performance of Efficient Interpreters
http://www.jilp.org/vol5/v5paper12.pdf

#LXWU41 (2) / @ninesigns / 3926 дней назад

Надо себе на ебальнике выбить уже.
Type ILP64 LP64 LLP64
char 8 8 8
short 16 16 16
int 64 32 32
long 64 64 32
long long 64 64 64
pointer 64 64 64

#X4LA52 (11) / @ninesigns / 3926 дней назад

Пишешь, блядь, крутую программу, оптимизируешь скорость обработчика по всякому, а в итоге оказывается, что 40% времени она декодирует base64 и вычисляет md5

#JTIAAS (2) / @hirthwork / 3926 дней назад

Чят, как ты можешь изучать всякие плюсошаблоны и прочие изъебства, зная что есть
гораздо более красивые, выразительные и мощные средства абстрагирования через
метапрограммирование?

#7ZK8NX (9+1) / @ninesigns / 3931 день назад

Пытаться чото делать в embedded после того, как 4 года его не трогал, это жесть какая-то.

#S1QGG8 (3) / @ninesigns / 3932 дня назад

Бнвач, мне как-то попадалась книжка по реализации ООП в сишечке. Там естественно всё было через структуры, ссылки на функции и прочее горождение С++ из сей. А есть какой-нибудь годный ман/книга как сделать ООП, основанное на сообщениях, типа как смоллтолке и обжцэ?

#CDAJ01 (5+1) / @kerrigan / 3938 дней назад

Чото у каждого второго айтишника в резюме вижу что он знает C.
Еще хуже если там написано "C/C++".

Теперь внимание вопрос: На каком уровне надо знать (какой опыт иметь в) C, чтобы
иметь моральное право указыать ее в резюме, и, при этом, не быть голословным
мудаком?

#NR6ZW3 (26) / @ninesigns / 3939 дней назад

котаны, а вот скажите, у меня все проблемы из-за того что я пытаюсь юзать bash через serial console?

история такая, есть виртуалки на kvm, в них есть в inittab

respawn
exec agetty -n -l /bin/bash -h -L -w /dev/ttyS0 115200 vt102

если я пишу virsh console Domain-0, попадаю в эту консоль.
а если я пишу через libvirt на питоне

stream = self.conn.newStream(libvirt.VIR_STREAM_NONBLOCK)
dom.openConsole(None, stream, 0)
stream.send("ls / > /tmp/test\r")

то получается какая-то хуйня. если перез ls послать пару раз \r, потом после него пару раз \r, и делать stream.recv(1024), периодически посылая что-нибудь типа "" или '\r', то по кусочкам будет приходить инфа оттуда. причем по кусочкам маленьким, типа 'ls / >', потом '/tmp/t' потом 'est\r\n'

я так понимаю, bash не ожидает что я буду его кормить командами так? кажется, закончится все тем что я пропатчу qemu-guest-agent и добавлю туда команду guest-exec :(

#G5CRV8 (0) / @partizan / 3941 день назад

Смотрите, что я нашел.
Real lambda support for bash (a functionally complete hack). Includes a set of
functions for functional programming,
list allocation and traversal,
futures,
complete closure serialization,
remote closure execution,
multimethods,
and
(вдохнули? готовы?)
concurrent mark/sweep garbage collection with weak reference support.
https://github.com/spencertipping/bash-lambda

#9OQCGL (3+2) / @ninesigns / 3948 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.