УМННБJ, ЯХВ. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1206.1 пользователей не могут ошибаться!
?6741
прекрасное6385
говно5815
говнорашка5468
хуита4606
anime2968
linux2569
bnw2554
music2487
рашка2266
log2263
ололо1884
pic1782
сталирасты1439
быдло1434
украина1398
дунч1392
дыбр1223
гімно1158
bnw_ppl1115

Почему 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 / 1389 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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