Size: a a a

Rude P[rogramming]Offtop

2021 June 11

I

Ilmir in Rude P[rogramming]Offtop
Эээ, нет, без компилятора давай-ка ты сам, ручками стейт-машину попишешь.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
именно. Это реально мало где нужно
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Тем не менее, юзер левел корутины в библиотеке. В стдлибе только низкоуроневые примитивы
источник

I

Ilmir in Rude P[rogramming]Offtop
Так "гарантированный способ сделать это руками" есть даже в сях - интринсики. От того, что их обернули с апи, они ими не перестают быть.
источник

AM

Andrew Mikhaylov in Rude P[rogramming]Offtop
Ну так а в джаве их не было. Их добавили этим джепом. О чём и шла речь.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Если бы в котлин в стдлибе были операции на векторах (и я ни в коем случае не говорю, что оно должно быть), то легко бы было сделать реализацию поверх векторизации на уровне стдлибы.
источник

I

Ilmir in Rude P[rogramming]Offtop
Ты же в курсе, что твоя подмена тезиса не работает в корутинах, ибо без компиляторной поддержки вся эта библиотека просто куча кода.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Есть даже либа дружественной команды на эту тему, Viktor называется
источник

AM

Andrew Mikhaylov in Rude P[rogramming]Offtop
Да, аналогия с корутинами слишком натянута.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Нет никакой подмены тезиса. Ты сказал, что есть разница между тем, что в языке и в либе.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Да нет же. И там и там в стдлибе низковуровневые примитивы, для которых в либе юзер-левел обертка
источник

I

Ilmir in Rude P[rogramming]Offtop
Да, есть. То, что поддержано в языке, означает гарантии со стороны компилятора - пишите код так и он будет _сгенерирован_ таким образом. В случае библиотек таких гарантий нет. В случае фортрана, например, это значит, что компилятор какого вендора не возьми, векторные операции векторизуются. В случае сторонней библиотеки гарантий, что они используют интринсики нет.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Ты можешь без библиотеки писать на примитивах векторизации и это будет неудобно. Ты можешь писать без библиотеки на примитивах корутин и это будет неудобно. Где разница? В одном случае у тебя компилятор делает корутины, в другом у тебя VM делает гарантирвоанную векторизацию при использовании соотвествующих примитивов.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Я так и не понял, про какие интринсики ты говоришь. Есть конкретный АПИ, который ВМом гарантированно векторизуется. Где тут интринсики?
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Там есть слово интринсик, но это просто обозначение для инструкций C2
источник

I

Ilmir in Rude P[rogramming]Offtop
Если я буду писать корутиновый код без поддержки компилятора, то это будет тупо набор вручную написанных стейт машин. Если я буду писать векторный код на интринсиках, то это будет куча вызовов интринсиков.
источник

I

Ilmir in Rude P[rogramming]Offtop
> The intrinsic operations have the same numerical properties as the corresponding scalar operations defined in java.lang.Math.
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Если ты будешь писать векторизацию без поддержки VM, то это тупо ничего не даст. Я не понял, с чем ты споришь
источник

AN

Alexander Nozik in Rude P[rogramming]Offtop
Интринсики C2. Нам до них какое дело? С нашей точки зрения это просто магия VM
источник

I

Ilmir in Rude P[rogramming]Offtop
Я спорю с твоим тезисом, что ввод интринсиков в джаву равен поддержке векторизации в языке.
источник