Code:
Code:
cap mata mata drop test() mata mata clear mata set matastrict on mata set mataoptimize on mata set matalnum off void test() { real matrix u, X; real scalar i X = runiform(100,10000) timer_clear() rseed(1) u = runiform(10000, 10000) :>= .5; u = u :- .5 timer_on(1) for (i=10;i;i--) (void) X*u timer_off(1) rseed(1) u = (runiform(10000, 10000) :>= .5) :- .5 timer_on(2) for (i=10;i;i--) (void) X*u timer_off(2) timer() } test() end
Code:
-------------------------------------------------------------------------------------------------------- timer report 1. 77.9 / 1 = 77.948 2. 80.7 / 1 = 80.733 --------------------------------------------------------------------------------------------------------
Code:
-------------------------------------------------------------------------------------------------------- timer report 1. 37.3 / 1 = 37.259 2. 48.4 / 1 = 48.448 --------------------------------------------------------------------------------------------------------
I'm doing this on an Intel i7-8650, which is a new, quad-core chip for laptops. Hyperthreading is enabled. I have 16GB, which is plenty for these operations.
Leave a comment: