Changeset ae0c1c3 for libcfa/src/gmp.hfa


Ignore:
Timestamp:
Apr 25, 2025, 7:08:53 PM (9 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
7d02d35, ecfa58be
Parents:
65bd3c2
Message:

Rewrote the iostream traits to have a single assertion each, a table containing function pointers. This is just an experiment right now. It seems that it does cause significant speed up of assertion resolution, but for some reason also seems to add a flat overhead that mostly eats up that saving.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/gmp.hfa

    r65bd3c2 rae0c1c3  
    263263        forall( ostype & | ostream( ostype ) ) {
    264264                ostype & ?|?( ostype & os, Int mp ) {
    265                         if ( sepPrt$( os ) ) fmt( os, "%s", sepGetCur$( os ) );
     265                        ostream_data(ostype) const & table = ostream_table;
     266                        if ( table.sepPrt$( os ) ) table.fmt( os, "%s", table.sepGetCur$( os ) );
    266267                        gmp_printf( "%Zd", mp.mpz );
    267                         sep( os );
     268                        table.sep( os );
    268269                        return os;
    269270                } // ?|?
Note: See TracChangeset for help on using the changeset viewer.