Size: a a a

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

2020 November 06

AK

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

АО

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

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Дефаут у вас как выражение вызовется в любом случае
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
В случае с функцией фибоначи которую я кидал он начнет дефаут вызывать бесконечно
источник

АО

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

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Да можно варианты найти, просто об этой особенности get нужно помнить)
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Ато получишь непридвиденное 😂
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
known = Dict(0=>0, 1=>1)
function fibonacci(n; known = known)
   return get!(() ->fibonacci(n - 1) + fibonacci(n - 2), known, n)
end

fibonacci(10)
источник

АО

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

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Спасиб, посмотрю
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
а дебаггер пока пилить и пилить
источник

AK

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

АО

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

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Молодой еще😂но ничего надеюсь доделают, в целом надо прочитать их руководство по дебагу мб это фиксится
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
ех, книжный вариант таки быстрее
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
  0.047344 seconds (14.28 k allocations: 724.123 KiB)
832040
 0.000031 seconds (92 allocations: 2.766 KiB)
832040
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
фибоначи с аргументом 30
источник

АО

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

АО

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

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
Андрей Оськин
function fibonacci(n; known = known)
   println(n)
   return get!(known, n, (fibonacci(n-1) + fibonacci(n-2)))
end

fibonacci(2)

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