We (meaning Henry Rich) are busy working on using new Intel AVX instructions to make some central parts of J run faster (quite a bit faster in some cases). You are seeing the initial breadcrumbs of that work.
Patience please. We'll get out a general announcement on this work in a week or so. On Thu, Feb 23, 2017 at 6:11 PM, Bill Heagy <[email protected]> wrote: > > > On 23/02/17 03:28 PM, Henry Rich wrote: > >> Thanks for the report. It used to crash, but I didn't notice that the >> fix leaked. >> >> What are you doing that you build pre-release systems? That'll keep us >> honest. >> >> I've been fixing code for more than 50 years now (including J7?, back in > the '90's when the source was available for awhile). I enjoy it, even if I > don't have to do it to get something done. > Talking of which, the current release(s) have a reference to "viavx.o" in > build_libj.sh which doesn't have a source. Deleting the reference doesn't > seem to cause any problems. > If there aren't many other testers out there, I'll be quicker about > nitpicking. The test suite seems to have a few peculiarities that haven't > been as major as the memory leak, which I have just ignored, assuming that > someone else would point them out if they're important. > Bill > > Henry Rich >> >> On 2/23/2017 1:52 PM, Bill Heagy wrote: >> >>> This code fragment in test/g9x.ijs (added somewhere between SVN 420 and >>> 443) appears to leak >1GB for each execution on debian testing 32-bit, and >>> >2GB on 64-bit. (Also, 7!:0 has overflow problem on 32-bit with memory use >>> >2GB.) >>> >>> NB. 9!:46 >>> 3 : 0 '' >>> if. 0 = #f =. 9!:46'' do. 1 return. end. NB. Can''t test if no file >>> try. >>> for_n. i. 1e8 do. >>> if. 0 = 10000 | n do. >>> (1{a.) 1!:12 f;0 NB. Request normal break, goes out through normal >>> exit >>> end. >>> end. >>> catch. >>> 1 >>> end. >>> ) >>> >>> 'break' -: 3 : 0 etx '' >>> if. 0 = #f =. 9!:46'' do. 1 return. end. NB. Can''t test if no file >>> try. >>> for_n. i. 1e8 do. >>> if. 0 = 10000 | n do. >>> (2{a.) 1!:12 f;0 NB. Request exigent break; aborts execution >>> end. >>> end. >>> catch. >>> 1 >>> end. >>> ) >>> >>> NB. Repeat for tacit - exigent interrupt >>> 'break' -: ({.^:100000 [ ((2{a.)&(1!:12))@(;&0))^:(*@#) etx 9!:46'' >>> >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > > -- > Bill Heagy > 615 Country Club Drive mailto:[email protected] > London, Ontario N6C 5P8 Canada telephone: 519-680-0311 > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
