The core performance bottleneck with extended precision numbers in J is that they are stored in base 10. That decision does come with a performance advantage of its own: input and display. I'd favour the move to 32/64 bit storage even if it "broke" the 3!:1 format (although 3!:1 could convert to old storage style). J is already shipping with openssl that has large integer operations. Is there that big a case to add GMP as a dependency?
On Wednesday, February 3, 2021, 09:47:51 a.m. EST, Henry Rich <[email protected]> wrote: IF you want to get yourself in shape to make JE changes, I have a starter project for you: replace the extended-integer and rational support with GMP (or some other equally-good library). The current code is serviceable but sized for 32-bit machines, and lacks fast multiplication. The code resides in vx.c and vq.c, which would be replaced with new versions. There are also bits in k.c (conversions) and d.c (display). I will help as needed. Henry Rich On 2/1/2021 11:25 PM, ethiejiesa via Programming wrote: > Raul Miller <[email protected]> wrote: >> https://github.com/jsoftware/jsource/commits/master might interest you... > Indeed, I have the repo cloned locally! > > However, when digging through old bug reports, I find it quite challenging to > match up the "fixed" notices with the corresponding code commits. In cases > with > a clear test case demonstrating the bug, we can use git-bisect to sleuth out > the commit that eliminates the failure. However, cases without this almost > invariably defeat my investigative skills. > > For posterity's sake, and if it's not too much of a hassle, I thought it might > be helpful to have some commits/diffs/comments attached to those "fixed" > messages. > > I will admit to a bit of an ulterior motive here, though. > > Bill, Eric, and Henry have deep domain knowledge about JE. I am personally > hoping that sharing the diffs would also spark discussion and give a natural > avenue to share and spread such expertise. > > The gory details are exceptionally interesting! > > > Permit me to query a broader point, though. > > It strikes me that the git-shortlog on the repo is very short: > > $ git shortlog --summary > 6 Chris Burke > 231 Eric Iverson > 1430 HenryHRich > 1 bill > 597 bill lam > 3 cdb > 3 kbi > > For the most part, we only have 3 devs, with all of them part of the old > guard, > per se. Better yet, Henry has authored over 62% of all commits! Granted, this > only reflects the history from 2016 onward, but my question is this: Do we > have > up and coming JE hackers that can pick up the torch when the time comes? > > > Anyway, maybe JSoftware has a vision for the future that I've failed to pick > up > on. The ulterior motive behind my "share a bit about the fix" is to perhaps > open a channel with the community that sucks in potential JE devs like myself! > I was just trying to be sneaky about things by suggesting something very > simple > and, hopefully, hassle-free. > > > 2!:55 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- This email has been checked for viruses by AVG. https://www.avg.com ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
