Damn, I just did my first timing, and I have completely failed. Adding 100M integers together results in times just about identical with the assembly optimised version of MPIR and significantly faster than the generic C version.
I have failed woefully. Bill. On 3 December 2012 20:24, leif <not.rea...@online.de> wrote: > Bill Hart wrote: >> >> On 3 December 2012 19:39, leif <not.rea...@online.de> wrote: >>> >>> Bill Hart wrote: >>>> >>>> >>>> You can make that change if you want, but obviously it will slow things >>>> down for the many 32 bit apple users out there. >>>> >>>> I have no problem with that though, as they obviously don't care about >>>> speed. >>> >>> >>> >>> :-) >>> >>> That's why I also suggested inverting the logic: >> >> >> That won't be necessary as of later tonight (hopefully). I have been >> writing a new "littlenum" library in C++ for people who require such >> performance tradeoffs. It is guaranteed that this new library will be >> sufficient for all 32 bit Apple user's needs. I'll put it up on my >> github later tonight and announce it on mpir-devel, so stay tuned. > > > Probably best to use popen("bc ...") in the C functions (and parse its > output). Alternatively call Python instead of bc, which might perform even > "better". And/or implement the functions operating on single limbs with > shell scripts using 'expr'. > > > -leif > > >> >> I think I will call the library SLOWMATH (Super Ludicrously Optimised >> Werkzeug). I currently call it SIMPLE (stupidly implemented >> mathematics platform light edition), but that just doesn't have the >> right ring to it. >> >> Anyway, I best get back to it. I still have more than 30 functions to >> write before it is done! And I need some timing comparisons with MPIR >> before I can be truly happy... >> >> Bill. >> >>> >>> >>> >>> # 32bit apple darwin doesn't like our PIC format asm code >>> case $host in >>> i[34567]86-apple-darwin*| >>> pentium*-apple-darwin*| >>> prescott-apple-darwin*| >>> core-apple-darwin*) >>> path="x86/applenopic" ;; >>> *-apple-darwin*) # assume Core2 or later >>> path="x86/applenopic/core2 x86/applenopic" ;; >>> *) ;; >>> esac >>> >>> >>> Not sure whether we also have to add some old AMDs as well. (Reading >>> config.guess would perhaps enlight me... Although AFAIK Apple only used >>> Opterons in some machines, which hopefullyTM run 64-bit MacOS only.) >>> >>> >>> -leif >>> >>> >>>> >>>> Patching configure only in sage seems ok. I doubt the diff will be >>>> large. Probably a handful of lines. It shouldn't change any other files >>>> as far as I'm aware. >>>> >>>> Bill. >>>> >>>> On Monday, 3 December 2012, leif wrote: >>>> >>>> Jean-Pierre Flori wrote: >>>> >>>> On Monday, December 3, 2012 6:35:15 PM UTC+1, Bill Hart wrote: >>>> >>>> Time to apply the crumb test to JP's beard with a >>>> fine-toothed comb! >>>> >>>> By the way, shouldn't Sage be a little faster on my >>>> Amstrad >>>> PC1512? >>>> >>>> Bill. >>>> >>>> On 3 December 2012 17:29, leif <not.r...@online.de >>>> <javascript:>> >>>> wrote: >>>> > Jean-Pierre Flori wrote: >>>> >> >>>> >> >>>> >> >>>> >> On Monday, December 3, 2012 6:13:57 PM UTC+1, leif >>>> wrote: >>>> >> >>>> >> Jean-Pierre Flori wrote: >>>> >> > Further info: >>>> >> > - the result of ./config.guess is >>>> nehalem-apple-darwin9.8.0, >>>> >> which is >>>> >> > not one dealt with in MPIR configure.in >>>> <http://configure.in> >>>> <http://configure.in> <http://configure.in> for >>>> >> >>>> >> the "32 bit apple darwin >>>> >> > doesn't like our PIC format asm code". >>>> >> > - and so we get MPN_PATH=" x86/nehalem x86 >>>> generic" >>>> >> >>>> >> ... then the -march=core-i7 was pretty correct. >>>> >> >>>> >> Who t** f*** runs a 32-bit operating system on >>>> such a >>>> machine? (Dual >>>> >> quad-core Xeon even IIRC) ;-) >>>> >> >>>> >> I agree :) >>>> >> And that's the reason nobody complained until we >>>> explicitely pushed >>>> >> people to do so :) >>>> > >>>> > >>>> > Well, YOU asked for it, so it's definitely your >>>> fault... >>>> ;-) >>>> > >>>> > >>>> > >>>> > -leif >>>> >>>> In fact I just wanted to get rid of the dirty piece of code in >>>> sage spkg >>>> install script and hoped that nobody would actually answer on >>>> sage-devel >>>> so that the removal gets undetected. >>>> >>>> >>>> >>>> How about changing >>>> >>>> # 32bit apple darwin doesn't like our PIC format asm code >>>> case $host in >>>> core2-apple-darwin* | penryn-apple-darwin*) >>>> path="x86/applenopic/core2 x86/applenopic" ;; >>>> prescott-apple-darwin* | pentium4-apple-darwin*) >>>> path="x86/applenopic" ;; >>>> pentium3-apple-darwin* | pentium2-apple-darwin*) >>>> path="x86/applenopic" ;; >>>> i686-apple-darwin* | pentiumpro-apple-darwin*) >>>> path="x86/applenopic" ;; >>>> core-apple-darwin*) path="x86/applenopic" ;; >>>> *) ;; >>>> esac >>>> >>>> to just >>>> >>>> # 32bit apple darwin doesn't like our PIC format asm code >>>> case $host in >>>> core2-apple-darwin* | penryn-apple-darwin*) >>>> path="x86/applenopic/core2 x86/applenopic" ;; >>>> *-apple-darwin*) path="x86/applenopic" ;; >>>> *) ;; >>>> esac >>>> >>>> ? (As far as I can see, the above snippet is in the x86/x86_64 >>>> (and >>>> 32-bit OS/ABI) branch, so we don't have to deal with other archs >>>> than these there.) >>>> >>>> Otherwise the build will (sooner or later) fail in exactly the same >>>> way on newer CPUs on 32-bit Darwin. >>>> >>>> Btw, it would probably be better to use the applenopic/core2 path >>>> on >>>> any post-Core2 CPU as well. Then we'd have to invert the logic, >>>> such that the x86/applenopic/core2 path is *not* chosen / added on >>>> i[34567]86-|pentium*-|__prescott-|core- (all with 'apple-darwin*' >>>> >>>> appended), but on everything else, hoping that the former list is >>>> complete. (We won't have to add CPUs to that list as time goes by, >>>> in contrast to the post-Core2 list.) >>>> >>>> >>>> For the sake of Sage, it's probably better to patch MPIR 2.6.0's >>>> 'configure' (i.e., the *generated* file) rather than 'configure.in >>>> <http://configure.in>' (autoreconfing afterwards, which usually >>>> >>>> causes lots of file changes) until 2.6.1 (with such a fix) is out. >>>> >>>> >>>> -leif > > > -- > () The ASCII Ribbon Campaign > /\ Help Cure HTML E-Mail > > -- > You received this message because you are subscribed to the Google Groups > "mpir-devel" group. > To post to this group, send email to mpir-devel@googlegroups.com. > To unsubscribe from this group, send email to > mpir-devel+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/mpir-devel?hl=en. > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.