Size: a a a

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

2020 April 02

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Ага, до 33 стабильна, потом аллокации начинаются
источник

VG

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

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Ну да.
Но я вот думаю - типом в данном случае является Int + Type{Val{N}}?
Или значения аргументов?
источник

VG

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

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Интуитивно кажется, что первое
источник

VG

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

VG

Viktor G. in Язык программирования Julia / Julia programming language
то есть от типа значений NTuple
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
вроде победил его в итоге с помощью VAL-ов как-то, но без generated
Имеется в виду так

foo(:: Type{Val{N}}) where N = ntuple(i -> 2, N)
?
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Только вот так наверное
foo(k, ::Val{N}) where N = ntuple(i -> k, N)


Без Type
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
julia> foo( :: Val{N}) where N = ntuple(i -> 2, N)
foo (generic function with 1 method)

julia> foo(Val{2})
ERROR: MethodError: no method matching foo(::Type{Val{2}})
Closest candidates are:
 foo(::Val{N}) where N at none:1
Stacktrace:
[1] top-level scope at none:0
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
A c Type работает
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Мистика
А какая версия Julia?
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
1.3.1
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
У меня 1.4, но вряд ли могло сильно поменяться.
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Может быть свежую сессию запустить? Вдруг там от старых экспериментов что-то осталось.
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
julia> foo( :: Type{Val{N}}) where N = ntuple(i -> 2, N)
foo (generic function with 2 methods)

julia> foo(Val{2})
(2, 2)
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
Перезапустил вот
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
julia> foo(k, ::Val{N}) where N = ntuple(i -> k, N)
foo (generic function with 1 method)
julia> foo(30, Val(5))
(30, 30, 30, 30, 30)
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Мистика
источник

АО

Андрей Оськин in Язык программирования Julia / Julia programming language
Сейчас попробую на 1.3.1
источник