Hi Ivo, >>>>> "IU" == Ivo Ugrina <[EMAIL PROTECTED]> >>>>> on Sat, 15 Dec 2007 14:13:10 +0100 writes:
IU> Martin Maechler wrote: >> do you have evidence for your belief? >> i.e. a set of system.time(.) calls where you see the >> difference? IU> system.time(dsignrank(17511, 400)) IU> user system elapsed IU> 1.010 0.120 1.145 IU> system.time(dsignrank((0:17511), 400)) IU> user system elapsed IU> 1.25 0.13 1.40 IU> system.time(dsignrank((0:17511), 500)) IU> user system elapsed IU> 2.040 0.220 2.296 IU> system.time(psignrank((0:17511), 600)) IU> user system elapsed IU> 20.670 0.580 21.403 IU> system.time(qsignrank(0.56, 300)) IU> user system elapsed IU> 0.700 0.050 0.753 IU> ====================================== IU> system.time(dsignrank(17511, 400)) IU> user system elapsed IU> 0.070 0.000 0.078 IU> system.time(dsignrank((0:17511), 400)) IU> user system elapsed IU> 0.100 0.000 0.104 IU> system.time(dsignrank((0:17511), 500)) IU> user system elapsed IU> 0.160 0.000 0.164 IU> system.time(psignrank((0:17511), 600)) IU> user system elapsed IU> 16.330 0.370 16.729 IU> system.time(qsignrank(0.56, 300)) IU> user system elapsed IU> 0.020 0.010 0.029 IU> system.time(dsignrank((0:20000), 600)) IU> user system elapsed IU> 3.470 0.280 3.745 IU> RAM: ~130MB IU> ====================================== IU> system.time(dsignrank((0:20000), 600)) IU> user system elapsed IU> 0.250 0.010 0.26 IU> RAM: ~1MB that's quite convincing; thank you! and I can verify part of it on my computer. I think I'd just commit your signrank.c (with a few cosmetic changes) to the sources, right? *Not* using a static with all the previously computed counts is probably not possible without a (CPU time) efficiency loss; and to make this thread-safe one could use a "thread-global" array, but how to do that would really depend on the threading system used, and that's not at all given. Thank you for your contribution! Martin >> BTW: If you had a smart idea to *not* use a static 'w' and still >> be memory efficient, >> that could lead to make that code "thread-safe", but I am >> not at all sure this is possible without using >> "thread-library C code". IU> I'll look into it. IU> With respect, IU> -- IU> Ivo Ugrina IU> ICQ: 47508335 | www.iugrina.com IU> ------------------------------- IU> baza matematickih pojmova IU> http://baza.iugrina.com IU> --------------------------- IU> anime, manga, Japan fanzin IU> http://yoshi.iugrina.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel