Size: a a a

Язык программирования Julia / Julia programming language

2019 August 08

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
авторы старались?
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
причем там не Array глючит, а String !
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
function wtf(col)
   println("Creating arr inside function")
   m = 0;
   @time begin
       co = collect(col.bs);
       arr :: Array{String} = Array{String}(undef, length(co)); # YES EVEN THIS
       for q in 1:length(arr)
           arr[q]= co[q]
       end
   end
   println("Doing loop")
   @time for zz in 1:length(arr) if arr[zz] == "B" m+=1 end end    
   println("m=", m)
end
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
тоже течет
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
Подаете DataFrames на вход, и он внутри должен разобраться, какое поле запрашивается, какого типа это поле.  Он не может специализировать функцию по типу DataFrames, т.к. у него может вообще не быть такого поля или тип может быть другой
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
а если подавать колонку - он вообще оптимизирует копирование, скорее всего
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
Во-первых, мне не интересна специализация функции. Меня беспокоит специализация цикла. А он специализирован.
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
Он специализирован по Array{String} в обоих случаях.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
специализация цикла - такого не существует
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
вах.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
делайте вложенную функцию тогда
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
специализация - это расстановка типов + компиляция
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
она существует для функций
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
я это понимаю
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
по факту код для цикла одинаков и там и сям.
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
щас в отладчике запущу и найду проблему, кто именно аллоцирует и где течет абстрация, расчехлю Juno
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
или прямо в cli
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
где-то была такая рекомендация - делать вложенные функции для вариантов с аллокациями и без
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
типа y = sum(x) аллоцирует y и вызывает sum!(y, x)
источник

ZZ

Zorro Zorroff in Язык программирования Julia / Julia programming language
я понимаю ваше желание объяснить мне и благодарен, но это все не помогает мне в голове построить правильную модель, т.к. это ответы не о том, до сих пор состояние WTF. Щас буду ковырять в отладчике, искать ответ.
источник