You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some Wolfram functions such as Import of a 400k CSV or VideFrameList may return huge data, and transferring that and parsing into JLink Expr and than Clojure is slow typically not really desired. In most cases you want to store them into a Wolfram-side variable and not transfer them back.
It would be good to notice that we are trying to transfer huge data and abort / shorten unless explicitly instructed not to. Similarly as println does when *print-length* / depth is set.
The big question is how do we detect this case... Not sure whether it is possible on the JVM side, without going through all the data. Is there perhaps some Wolfram fn that can tell us the "size" of the result, which we could call automatically (or for a list of "dangerous" functions) to find out the size before we start transferring all the data? Or is there some other way?
The text was updated successfully, but these errors were encountered:
holyjak
changed the title
Avoid transferring/converting huge data when not expicitly requested
Wolfram Engineering: Avoid transferring/converting huge data when not expicitly requested
Sep 21, 2024
holyjak
changed the title
Wolfram Engineering: Avoid transferring/converting huge data when not expicitly requested
Wolfram Engineering: Avoid transferring/converting huge data when not explicitly requested
Sep 21, 2024
Some Wolfram functions such as
Import
of a 400k CSV orVideFrameList
may return huge data, and transferring that and parsing into JLink Expr and than Clojure is slow typically not really desired. In most cases you want to store them into a Wolfram-side variable and not transfer them back.It would be good to notice that we are trying to transfer huge data and abort / shorten unless explicitly instructed not to. Similarly as
println
does when*print-length*
/depth
is set.The big question is how do we detect this case... Not sure whether it is possible on the JVM side, without going through all the data. Is there perhaps some Wolfram fn that can tell us the "size" of the result, which we could call automatically (or for a list of "dangerous" functions) to find out the size before we start transferring all the data? Or is there some other way?
The text was updated successfully, but these errors were encountered: