JuliaInterop / JuliaCall

Embed Julia in R
https://non-contradiction.github.io/JuliaCall/index.html
Other
267 stars 36 forks source link

Displaying real-time feedbacks during function execution #231

Open federicomor opened 3 months ago

federicomor commented 3 months ago

I have to write a complex function in Julia, an algorithm to fit a bayesian model, and then test it using datasets on R. I would like to "send feedbacks" to the user about the current state of the algorithm, for example by simply printing at which iteration we are. However I didn't find any way to receive (in real time, i.e. during the execution of that function, not all the strings at once only at the end of the run) the outputs of the print/show/display statements from the Julia code into. So how can I solve this? I read about using Rprintf, in other issues, but I did not undertand how to actually implement it and if it would work for this case.

For example I was testing something like this

function my_example(iters::Integer)
    result = 0.0
    for i in 1:iters
        print("iteration $i of $iters\r")
        # do my heavy work
        result += rand() # for example
        sleep(0.02)
    end
    return result
end

But all those feedbacks about the count get displayed only at the end of the execution.