[Rd] From .Fortran to .Call?
Koenker, Roger W
rkoenker @end|ng |rom ||||no|@@edu
Sun Dec 27 13:12:36 CET 2020
Indeed, using profmem there is a significant advantage in memory:
 261834640 #using .Fortran
 149221000 #using .C64
> On Dec 26, 2020, at 10:22 PM, Kasper Daniel Hansen <kasperdanielhansen using gmail.com> wrote:
> Did you check memory usage? I don't know anything about Fortran, but using .Call for C code doesn't duplicate the memory of the objects you supply to the interface, and in some instances, that's an advantage. But that assumes you're doing something like
> .Call("foo", xx)
> and not
> Call("foo", as.matrix(xx))
> On Sat, Dec 26, 2020 at 5:48 PM Koenker, Roger W <rkoenker using illinois.edu> wrote:
> I’ve recoded a version of one of my quantile regression fitting functions to use .C64 from dotCall64 rather than .Fortran.
> For a moderately large problem with n = 500,000 and p = 5, and solving for 1:49/50 quantiles the new version shows
> a 3% speedup, although for smaller problems it is actually slower that the .Fortran version. So, I’m (provisionally)
> unimpressed by the claims that .Fortran has a big “overhead” performance penalty. Compared to the(more than) an order of
> magnitude (base 10) improvement that moving from R to fortran produces, 3% isn’t really worth the (admittedly) minimal
> additional coding effort.
More information about the R-devel