Мохнатые уроды и моральные пёзды. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1251.0 пользователей не могут ошибаться!
?7015
прекрасное6456
говно5927
говнорашка5513
хуита4740
anime3079
linux2668
music2648
bnw2607
рашка2589
log2376
ололо2273
дунч1892
pic1816
сталирасты1494
bnw_ppl1458
быдло1441
украина1439
дыбр1239
гімно1158

Почему julia дает пизды вашим любимым* язычкам программирования.

https://julialang.org/blog/2017/01/moredots

Используя dot call как здесь:

X .= f.(2 .* X.^2 .+ 6 .* X.^3 .- sqrt.(X))

или

@. X = f(2X^2 + 6X^3 - sqrt(X))

Вы эксплицитно требуете от компилятора сгенерировать объединить циклы и сгенерить векторизированый код, который не будет делать промежуточных аллокаций массивов.

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

Кроме того, есть возможность при помощи библиотеки GPUArrays обсчитывать массивы на opencl/cuda, используя тот же самый код, как и для обычного кода, но используя специальные типы. Все благодаря multiple dispatch и макросистеме.

[*] кроме, пожалуй, хаскеля, если ghc сделает loop fusion и вы не обосретесь с ленивостью

#BD4GXR (37+5) / @ninesigns / 3242 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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