Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.forth    |    Forth programmers eat a lot of Bratwurst    |    117,927 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 117,472 of 117,927    |
|    peter to Anton Ertl    |
|    Re: Parsing timestamps?    |
|    17 Jul 25 10:14:00    |
      From: peter.noreply@tin.it              On Wed, 16 Jul 2025 15:39:26 GMT       anton@mips.complang.tuwien.ac.at (Anton Ertl) wrote:              > anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:       > >I did not do any accuracy measurements, but I did performance       > >measurements on a Ryzen 5800X:       > >       > > cycles:u       > > gforth-fast iforth lxf SwiftForth VFX       > > 3_057_979_501 6_482_017_334 6_087_130_593 6_021_777_424 6_034_560_441       NAI       > > 6_601_284_920 6_452_716_125 7_001_806_497 6_606_674_147 6_713_703_069       UNR       > > 3_787_327_724 2_949_273_264 1_641_710_689 7_437_654_901 1_298_257_315       REC       > > 9_150_679_812 14_634_786_781        SR        >                > > cycles:               >        > This second table is about instructions:u       >        > > gforth-fast iforth lxf SwiftForth        VFX        > >13_113_842_702 6_264_132_870 9_011_308_923 11_011_828_048 8_072_637_768       NAI       > > 6_802_702_884 2_553_418_501 4_238_099_417 11_277_658_203 3_244_590_981       UNR       > > 9_370_432_755 4_489_562_792 4_955_679_285 12_283_918_226 3_915_367_813       REC       > >51_113_853_111 29_264_267_850        SR        >        > - anton              I have run this test now on my Ryzen 9950X for lxf, lxf64 ans a snapshot of       gforth              Here are the results              Ryzen 9950X               lxf64        5,010,566,495 NAI cycles:u        2,011,359,782 UNR cycles:u        646,926,001 REC cycles:u        3,589,863,082 SR cycles:u               lxf64         7,019,247,519 NAI instructions:u         4,128,689,843 UNR instructions:u         4,643,499,656 REC instructions:u         25,019,182,759 SR instructions:u                       gforth-fast 20250219        2,048,316,578 NAI cycles:u        7,157,520,448 UNR cycles:u        3,589,638,677 REC cycles:u        17,199,889,916 SR cycles:u               gforth-fast 20250219        13,107,999,739 NAI instructions:u         6,789,041,049 UNR instructions:u        9,348,969,966 REC instructions:u         50,108,032,223 SR instructions:u                lxf        6,005,617,374 NAI cycles:u        6,004,157,635 UNR cycles:u        1,303,627,835 REC cycles:u        9,187,422,499 SR cycles:u               lxf        9,010,888,196 NAI instructions:u        4,237,679,129 UNR instructions:u         4,955,258,040 REC instructions:u         26,018,680,499 SR instructions:u              Doing the milliseconds timing gives              lxf64 native code       timer-reset ' naive-sum bench .elapsed 889 ms elapsed ok       timer-reset ' unrolled-sum bench .elapsed 360 ms elapsed ok       timer-reset ' recursive-sum bench .elapsed 114 ms elapsed ok       timer-reset ' shift-reduce-sum bench .elapsed 647 ms elapsed ok              lxf64 token code       timer-reset ' naive-sum bench .elapsed 2´284 ms elapsed ok       timer-reset ' unrolled-sum bench .elapsed 2´723 ms elapsed ok       timer-reset ' recursive-sum bench .elapsed 3´474 ms elapsed ok       timer-reset ' shift-reduce-sum bench .elapsed 6´842 ms elapsed ok              lxf       timer-reset ' naive-sum bench .elapsed 1073 milli-seconds ok       timer-reset ' unrolled-sum bench .elapsed 1103 milli-seconds ok       timer-reset ' recursive-sum bench .elapsed 234 milli-seconds ok       timer-reset ' shift-reduce-sum bench .elapsed 1632 milli-seconds ok              It is interesting to note how the Best algorithm" change depending       on the underlying system implementation.       lxf uses the x87 builtin fp stack, lxf64 uses sse4 and a large fp stack               Thanks for these tests, they uncovered a problem with the lxf64 code       generator. It could only handle 114 immediate values in a basic block!       Both sum128 and nsum128 compiles gigantic functions of over 2k compile code.              Best Regards       Peter              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca