- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
async function f()
{
print("Hello World");
}
function main()
{
await f();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
async function f()
{
print("Hello World");
}
function main()
{
await f();
}
Ну что заскучились... есть новость... первый async/await ... так что с почином - асинков. но это только начало ... Для любознательных дампик... https://pastebin.com/rwnsrdLx (для SEO https://github.com/ASDAlexander77/TypeScriptCompiler) и результат работы
C:\temp>C:\dev\TypeScriptCompiler\__build\tsc\bin\tsc.exe --emit=jit --shared-libs=C:\dev\TypeScriptCompiler\__build\tsc\bin\TypeScriptGCWrapper.dll --shared-libs=C:\dev\TypeScriptCompiler\3rdParty\llvm\debug\bin\mlir_async_runtime.dll C:\temp\1.ts
Hello World
Именно поэтому я за премиум-аккаунт. В нём никаких ограничений нет.
Ты ма-те-ма-тик?
В Си никаких await/async нет.
Именно поэтому я за «Си».
Зато есть (e)poll или kqueue
> The feature is found in C# 5.0, C++, Python 3.5, F#, Hack, Julia, Dart, Kotlin 1.1, Rust 1.39,[1] Nim 0.9.4[2] and JavaScript ES2017, with some experimental work in extensions, beta versions, and particular implementations of Scala.[3] It is also planned for Swift.
https://govnokod.ru/25005#comment436351
> https://govnokod.ru/25005#comment436351
Thread support for Nim.
Note: This is part of the system module. Do not import it directly. To activate thread support you need to compile with the --threads:on command line switch.
Nim's memory model for threads is quite different from other common programming languages (C, Pascal): Each thread has its own (garbage collected) heap and sharing of memory is restricted. This helps to prevent race conditions and improves efficiency. See the manual for details of this memory model.
И правильно, ведь я обязательно нагуглю какую-нибудь пижню и все аргументы луддитов-лалок разлетятся в щепки, доказывая, что за «Nim» будущее.
PHP - выбор белого человека.
Вообще лучше конечно не шарить, а акторить: принимать по каналу сообщения, и обрабатывать
Шаред стейт нужен только лоу-левел царям ради пифоманса.
Высокоуровневым писателям бизнес-логики обычно нет
Ну это так, гипотеза. Я вообще понятия не имею что за язык.
А еще некоторые вещи ты ни на чем кроме асма не сделаешь
class s {}; for (int i = 0; i < 1000000; i++) auto s1 = new s();
догадываешься кто выиграет ?
>>j123123
> догадываешься кто выиграет ?
«PHP»?
Ничего другого я не ожидал.
Видимо таки разрешили забивать хуй на сайд-эффекты от new и delete.
Магическое слово «volatile» запрещает делать предположения о потоке данных, следовательно, отключает оптимизацию.
Можно выделить парочку векторов на стеке, а потом в них пихать питухов, созданных в куче?
Скорее просто считается сайд-эффектом. А сайд-эффекты пока удалять и переставлять местами нельзя.
З.Ы. Вон new и delete уже перестали считать сайд-эффектом.
Робот не может причинить вред человеку.
Т.е. они именно эффекты от malloc заигнорили, походу.
https://gcc.godbolt.org/z/Kz87xcr8W
Пока что компилятор не умеет определять, что из пользовательского кода относится к управлению памятью, а что к другим операциям. Иначе он бы и пользовательскую хуйню вроде арен и прочих специализированных аллокаторов бы выкидывал по возможности.
https://govnokod.ru/27581#comment658921
Хотя в данном случае for(;;) auto s1 = new s(); превратился в
я обманул это ггс-говно
https://godbolt.org/z/hdK7Mrra6
О5 анскилл.
У меня всё работает.
P.S. А нет, «U» заглавной должна быть, чтобы съесть макрос.
https://gcc.godbolt.org/z/q89sdaenW
Garbage Code Collector.
Необходимо*
1. Взять нетривиальную математическую проблему, для оптимизации которой надо либо решить проблему столетия, либо осуществить полный перебор.
2. Вывести результат. Без вывода и другой работы с внешним миром можно код любой программы выкинуть.
Как минимум, попробовать посчитать и вывести какой-нибудь хэш от строки, содержащей последние 4 байта указателя на каждый объект.
__________________
* О том, что достаточно, я не берусь рассуждать. Не уверен, что вообще можно уговорить компилятор генерировать честные объекты в куче. Никто не заметит, если заменить кучу new на аллокацию/резервирования в статической памяти одного большого стека и return heap++; в "new". Ссылочная сука прозрачность, которой обрезает крылья только стандарт, объявляя какие-нибудь случаи, когда компилятор что-то должен сделать (ключевое слово volatile и явный список побочных эффектов, при виде которых компилятор не должен лениться).
> Вывести результат.
Практика показывает, что и это не всегда помогает... Где-то здесь был пример, когда gcc в компайлтайме опроверг теорему Ферма.
Да, есть ещё необходимое условие номер ноль: не допускать UB.
https://habr.com/ru/post/229963/
3.14.15.92. The compiler shall not produce any output that results in j123123's reporting a bug.
The compiler produced code that travelled into the past and killed j123123.
https://wandbox.org/permlink/pKwLpM0NZ4cA6P1J
UPD: Поправил степень в уравнении.
Да, но тут только 2 исхода -- либо он найдёт тройку чисел и выведет сообщение, либо он будет крутиться вечно т.к. других выходов из цикла нет. Вечный цикл это вроде как UB, так что почему бы не вывести сообщение и выйти?
В смысле ниасилил? А вы проверяли результат?
> Found!! Ferma sosnool 4 5 1360988357
> Но на полное удаление циклов ума не хватило — какое-то говно там всё таки крутится
Вы ему дали какую задачу? Доказать теорему в поле unsigned int
Где операции это
* сложение по модулю 2^n
* умножние по модулю 2^n.
А и правда. По воскресеньям наш ма-те-ма-ти-чес-кий отдел закрыт.
Но компилятор и правда ниасилил, потому что имел полное право выкинуть все циклы и оставить один единственный puts.
Это же Сишка (по сути), а не анскильные псевдоматематичные GHC и rustы.
С unsigned уже есть варианты, конечно.
Опровергаю.
Компилятор делает всё в высшей степени корректно.
С int компилятор вообще показывает дикий математический скилл
В первом случае его просто просят вывести существует ли контрпример.
Компилятор это блестяще делает в доли микросекунды.
Используя своё математическое понимание, недоступное запартным лалкам (принцимп Дирихле) он понимает что на замкнутом кольце неизбежно будут коллизии и мгновенно пишет что контрпример существует.
Однако! Если попросить его найти реальный пример, то компилятор сгенерит другой код, который задумается.
Но опять же рано или поздно он через переполнение доворецирует до тривиального случая вроде
Так что придется тебе сесть на бутылку Клейна и извиняться перед Пьером Ахматовичем.
Проблема в том, что int в крестах — это вовсе не замкнутое кольцо, потому что переполнение signed int — это UB.
Поэтому здесь компилятор попросту видит, что произойдёт одно из джвух: либо найдётся какой-нибудь контр-пример, либо произойдёт знаковое переполнение. Но знаковое переполнение — UB, которого в well-formed программе быть не может. А поскольку компилятор программиста уважает и долбоёбом не считает — «GCC» уверен, что и допускать UB в программе программист не станет. Следовательно, контр-пример существует, а поскольку искать конкретные числа программист не просил — все циклы можно смело выкидывать и печатать сообщение о найденном контр-примере.
Браво!
Восхитительный, царский ротоебизм.
Неважно, где размещен ваш сайт — антивирус RU‑CENTER поможет уберечь его от заражения вредоносным кодом, потери информации, попадания в черные списки и снижения позиций в поисковой выдаче.
Вы сможете получать отчеты об обнаруженных угрозах, лечить зараженные файлы в панели управления или в автоматическом режиме. Выберите подходящий тариф и оформите заказ со скидкой 20% по персональному промокоду 598Z49UT9W. Предложение действительно в течение 14 дней.
Вернем 20% от стоимости заказа на бонусный счет. Кешбэк можно использовать для оплаты нового заказа.
Причиной могут быть вирусы!
Купите антивирус Kaspersky Ultimate Pro Pack со скидкой 5%, и получите кепку в подарок!
Кстати, 2.5 минуты это долго?
оверклокер
#оверклокинг
Но мы на говнокоде, поэтому надо делать так.
у тебя рязань с nvme, или ты заморочился выкинуть оттуда всё ненужное?
15 минут штатное дебиановское собирается, в общем.
> nvme
tmpfs
Обычно это называется резервной копией?