Size: a a a

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

2021 February 19

RS

Roman Samarev in Язык программирования Julia / Julia programming language
https://github.com/JuliaIO/JLD2.jl/issues/280

Нет ли у кого желания подключиться к дискуссии о месте для функции сохранения промежуточных результатов на диске?
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
https://juliadynamics.github.io/DrWatson.jl/dev/save/#DrWatson.produce_or_load  выглядит довольно громоздким. А в состав JLD2 пока что функцию с простым интерфейсом вводить не хотят
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Мммм.... Но он вроде правильно сказал, что эта штука не имеет отношения к JLD2 (хотя я не разбирался, сорри). Если заменить JLD2 на Arrow, что-нибудь поменяется?
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Не знаю. Мне нужно было простое хранилище, я его для себя сделал на базе JLD
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну, просто звучит так, что этому либо стоит жить в DrWatson, либо вообще в отдельном пакете.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Просто если использовать что-то универсальное на подключаемом бакенде, то будет лишний код
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Собственно, для себя то я могу и внутри своего кода эту обёртку держать.
источник

АО

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

АО

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

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Какой-нибудь LLDCache.jl
источник

АО

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

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Андрей Оськин
Просто кто-нибудь другой может захотеть такую же функциональность на другом бекенде ему придётся вписывать её в соответствующий пакет? Хотя визуально функция практически не будет отличаться.
Два варианта - делать универсальную функцию, которую можно на разные бакенды натягивать. Второй вариант - договориться об интерфейсах и использовать одинаковые имена
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Андрей Оськин
Потом, по мере желания сможешь в него дописывать другие бекэнды.
Судя по тому, что не закрыли сразу, уверенности в том, что правильно, нет ни у кого 🙂
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Одинаковые имена недостаточно, может быть конфликт экспортов.
Лучше уж интерфейсный пакет, который нужно импортить и расширять.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Roman Samarev
Судя по тому, что не закрыли сразу, уверенности в том, что правильно, нет ни у кого 🙂
Может быть им просто не хочется тебя обижать 😊 Я тоже редко реквесты закрываю, даже если они мимо кассы.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Надо альтернативы посмотреть. JLD удобен для сериализации/десериализации. В остальном - разницы для хранения промежуточных результатов нет.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Андрей Оськин
Может быть им просто не хочется тебя обижать 😊 Я тоже редко реквесты закрываю, даже если они мимо кассы.
using DrWatson

function g(d)
   @unpack N, T = d
   result = N * T
   @dict result
end

N = 1
T = 2
tmpdir = projectdir("tmp")
res = produce_or_load(
   tmpdir, # path
   @dict(N, T), # container
   g # function
)
result = @unpack res
источник

RS

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

g2(x, y) = x + y
jldcache("tmp.jld", "somekey", g2, 1, 2)
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
К вопросу пакета DrWatson. Либо я чего-то недочитал…..
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Касаемо того, нужна функция типа jldcache - ответ да. Куда поместить - открытый вопрос. DrWatson всё же несколько для специфических целей сделан. Даже версионность исходников пишется в сохраняемые файлы
источник