Skip to content
Snippets Groups Projects
  1. Dec 26, 2024
  2. Oct 26, 2024
  3. Jun 21, 2023
  4. Aug 22, 2022
  5. Jun 21, 2021
  6. May 23, 2021
    • cznic's avatar
      mersenne: add Mul · 979b2dec
      cznic authored
    • cznic's avatar
      mersenne: improve Sqr · cc711c58
      cznic authored
      Thanks to paulunderwood at https://www.mersenneforum.org/showpost.php?p=578912&postcount=4 for the tip.
    • cznic's avatar
      mersenne: add Sqr · 8ae7a21d
      cznic authored
      goos: linux
      goarch: amd64
      pkg: modernc.org/mathutil/mersenne
      cpu: AMD Ryzen 9 3900X 12-Core Processor
      BenchmarkSqr
      BenchmarkSqr/M1-mersenne-sqr
      BenchmarkSqr/M1-mersenne-sqr-24         	13628048	        79.38 ns/op	      40 B/op	       2 allocs/op
      BenchmarkSqr/M1-math-big-sqr
      BenchmarkSqr/M1-math-big-sqr-24         	 8802544	       131.7 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M2-mersenne-sqr
      BenchmarkSqr/M2-mersenne-sqr-24         	16625383	        81.08 ns/op	      40 B/op	       2 allocs/op
      BenchmarkSqr/M2-math-big-sqr
      BenchmarkSqr/M2-math-big-sqr-24         	 9768525	       131.8 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M4-mersenne-sqr
      BenchmarkSqr/M4-mersenne-sqr-24         	14647800	        85.37 ns/op	      40 B/op	       2 allocs/op
      BenchmarkSqr/M4-math-big-sqr
      BenchmarkSqr/M4-math-big-sqr-24         	 9056818	       130.9 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M8-mersenne-sqr
      BenchmarkSqr/M8-mersenne-sqr-24         	11580205	        98.52 ns/op	      40 B/op	       2 allocs/op
      BenchmarkSqr/M8-math-big-sqr
      BenchmarkSqr/M8-math-big-sqr-24         	 9426870	       128.2 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M16-mersenne-sqr
      BenchmarkSqr/M16-mersenne-sqr-24        	10476908	       116.7 ns/op	      40 B/op	       2 allocs/op
      BenchmarkSqr/M16-math-big-sqr
      BenchmarkSqr/M16-math-big-sqr-24        	 8949414	       134.0 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M32-mersenne-sqr
      BenchmarkSqr/M32-mersenne-sqr-24        	 6495727	       173.0 ns/op	      48 B/op	       2 allocs/op
      BenchmarkSqr/M32-math-big-sqr
      BenchmarkSqr/M32-math-big-sqr-24        	 9296271	       132.0 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M64-mersenne-sqr
      BenchmarkSqr/M64-mersenne-sqr-24        	 4802661	       241.9 ns/op	      56 B/op	       2 allocs/op
      BenchmarkSqr/M64-math-big-sqr
      BenchmarkSqr/M64-math-big-sqr-24        	10145700	       133.9 ns/op	      88 B/op	       3 allocs/op
      BenchmarkSqr/M128-mersenne-sqr
      BenchmarkSqr/M128-mersenne-sqr-24       	 3003795	       413.0 ns/op	      80 B/op	       2 allocs/op
      BenchmarkSqr/M128-math-big-sqr
      BenchmarkSqr/M128-math-big-sqr-24       	 5549552	       209.3 ns/op	     144 B/op	       3 allocs/op
      BenchmarkSqr/M256-mersenne-sqr
      BenchmarkSqr/M256-mersenne-sqr-24       	 1659831	       722.0 ns/op	     112 B/op	       2 allocs/op
      BenchmarkSqr/M256-math-big-sqr
      BenchmarkSqr/M256-math-big-sqr-24       	 4880001	       251.4 ns/op	     192 B/op	       3 allocs/op
      BenchmarkSqr/M512-mersenne-sqr
      BenchmarkSqr/M512-mersenne-sqr-24       	  858310	      1349 ns/op	     176 B/op	       2 allocs/op
      BenchmarkSqr/M512-math-big-sqr
      BenchmarkSqr/M512-math-big-sqr-24       	 3462825	       329.5 ns/op	     288 B/op	       3 allocs/op
      BenchmarkSqr/M1024-mersenne-sqr
      BenchmarkSqr/M1024-mersenne-sqr-24      	  420891	      2565 ns/op	     320 B/op	       2 allocs/op
      BenchmarkSqr/M1024-math-big-sqr
      BenchmarkSqr/M1024-math-big-sqr-24      	 1964814	       615.2 ns/op	     480 B/op	       3 allocs/op
      BenchmarkSqr/M2048-mersenne-sqr
      BenchmarkSqr/M2048-mersenne-sqr-24      	  206782	      5177 ns/op	     608 B/op	       2 allocs/op
      BenchmarkSqr/M2048-math-big-sqr
      BenchmarkSqr/M2048-math-big-sqr-24      	 1000000	      1255 ns/op	     896 B/op	       3 allocs/op
      BenchmarkSqr/M4096-mersenne-sqr
      BenchmarkSqr/M4096-mersenne-sqr-24      	  108934	     10175 ns/op	    1184 B/op	       2 allocs/op
      BenchmarkSqr/M4096-math-big-sqr
      BenchmarkSqr/M4096-math-big-sqr-24      	  377995	      3055 ns/op	    1762 B/op	       3 allocs/op
      BenchmarkSqr/M8192-mersenne-sqr
      BenchmarkSqr/M8192-mersenne-sqr-24      	   59828	     20511 ns/op	    2336 B/op	       2 allocs/op
      BenchmarkSqr/M8192-math-big-sqr
      BenchmarkSqr/M8192-math-big-sqr-24      	  148688	      8677 ns/op	    3492 B/op	       3 allocs/op
      BenchmarkSqr/M16384-mersenne-sqr
      BenchmarkSqr/M16384-mersenne-sqr-24     	   30609	     38871 ns/op	    4896 B/op	       2 allocs/op
      BenchmarkSqr/M16384-math-big-sqr
      BenchmarkSqr/M16384-math-big-sqr-24     	   48075	     25592 ns/op	    7211 B/op	       3 allocs/op
      BenchmarkSqr/M32768-mersenne-sqr
      BenchmarkSqr/M32768-mersenne-sqr-24     	   15621	     82111 ns/op	    9504 B/op	       2 allocs/op
      BenchmarkSqr/M32768-math-big-sqr
      BenchmarkSqr/M32768-math-big-sqr-24     	   14744	     87142 ns/op	   32205 B/op	       3 allocs/op
      BenchmarkSqr/M65536-mersenne-sqr
      BenchmarkSqr/M65536-mersenne-sqr-24     	    7050	    154968 ns/op	   18464 B/op	       2 allocs/op
      BenchmarkSqr/M65536-math-big-sqr
      BenchmarkSqr/M65536-math-big-sqr-24     	    6040	    237927 ns/op	   66936 B/op	       3 allocs/op
      BenchmarkSqr/M131072-mersenne-sqr
      BenchmarkSqr/M131072-mersenne-sqr-24    	    3741	    324530 ns/op	   40992 B/op	       2 allocs/op
      BenchmarkSqr/M131072-math-big-sqr
      BenchmarkSqr/M131072-math-big-sqr-24    	    1988	    615355 ns/op	  125121 B/op	       3 allocs/op
      BenchmarkSqr/M262144-mersenne-sqr
      BenchmarkSqr/M262144-mersenne-sqr-24    	    1950	    620119 ns/op	   73760 B/op	       2 allocs/op
      BenchmarkSqr/M262144-math-big-sqr
      BenchmarkSqr/M262144-math-big-sqr-24    	     688	   1755040 ns/op	  246108 B/op	       3 allocs/op
      BenchmarkSqr/M524288-mersenne-sqr
      BenchmarkSqr/M524288-mersenne-sqr-24    	     956	   1290968 ns/op	  139296 B/op	       2 allocs/op
      BenchmarkSqr/M524288-math-big-sqr
      BenchmarkSqr/M524288-math-big-sqr-24    	     246	   4932569 ns/op	  476234 B/op	       3 allocs/op
      BenchmarkSqr/M1048576-mersenne-sqr
      BenchmarkSqr/M1048576-mersenne-sqr-24   	     470	   2560887 ns/op	  270368 B/op	       2 allocs/op
      BenchmarkSqr/M1048576-math-big-sqr
      BenchmarkSqr/M1048576-math-big-sqr-24   	      84	  14315411 ns/op	  935650 B/op	       4 allocs/op
      BenchmarkSqr/M2097152-mersenne-sqr
      BenchmarkSqr/M2097152-mersenne-sqr-24   	     225	   5156848 ns/op	  532512 B/op	       2 allocs/op
      BenchmarkSqr/M2097152-math-big-sqr
      BenchmarkSqr/M2097152-math-big-sqr-24   	      26	  42251646 ns/op	 1854422 B/op	       4 allocs/op
      BenchmarkSqr/M4194304-mersenne-sqr
      BenchmarkSqr/M4194304-mersenne-sqr-24   	     117	  10486764 ns/op	 1056800 B/op	       2 allocs/op
      BenchmarkSqr/M4194304-math-big-sqr
      BenchmarkSqr/M4194304-math-big-sqr-24   	       9	 118619660 ns/op	 3689229 B/op	       4 allocs/op
      BenchmarkSqr/M8388608-mersenne-sqr
      BenchmarkSqr/M8388608-mersenne-sqr-24   	      61	  19271563 ns/op	 2105377 B/op	       2 allocs/op
      BenchmarkSqr/M8388608-math-big-sqr
      BenchmarkSqr/M8388608-math-big-sqr-24   	       3	 347243627 ns/op	 7360130 B/op	       5 allocs/op
      BenchmarkSqr/M16777216-mersenne-sqr
      BenchmarkSqr/M16777216-mersenne-sqr-24  	      27	  37213931 ns/op	 4202528 B/op	       2 allocs/op
      BenchmarkSqr/M16777216-math-big-sqr
      BenchmarkSqr/M16777216-math-big-sqr-24  	       1	1044838615 ns/op	14704448 B/op	       7 allocs/op
      BenchmarkSqr/M33554432-mersenne-sqr
      BenchmarkSqr/M33554432-mersenne-sqr-24  	      15	  73673501 ns/op	 8396838 B/op	       2 allocs/op
      BenchmarkSqr/M33554432-math-big-sqr
      BenchmarkSqr/M33554432-math-big-sqr-24  	       1	3144805101 ns/op	29384512 B/op	       7 allocs/op
      BenchmarkSqr/M67108864-mersenne-sqr
      BenchmarkSqr/M67108864-mersenne-sqr-24  	       8	 145513519 ns/op	16785440 B/op	       2 allocs/op
      BenchmarkSqr/M67108864-math-big-sqr
      BenchmarkSqr/M67108864-math-big-sqr-24  	       1	9167346999 ns/op	58744640 B/op	       7 allocs/op
      BenchmarkSqr/M134217728-mersenne-sqr
      BenchmarkSqr/M134217728-mersenne-sqr-24 	       4	 282906478 ns/op	33562656 B/op	       2 allocs/op
      BenchmarkSqr/M134217728-math-big-sqr
      BenchmarkSqr/M134217728-math-big-sqr-24 	       1	27725921736 ns/op	117464896 B/op	       7 allocs/op
      BenchmarkSqr/M268435456-mersenne-sqr
      BenchmarkSqr/M268435456-mersenne-sqr-24 	       2	 584291840 ns/op	67117088 B/op	       2 allocs/op
      BenchmarkSqr/M268435456-math-big-sqr
      BenchmarkSqr/M268435456-math-big-sqr-24 	       1	83496304443 ns/op	234905408 B/op	       7 allocs/op
      PASS
      ok  	modernc.org/mathutil/mersenne	203.388s
  7. Jan 21, 2021
  8. Dec 20, 2020
  9. Dec 19, 2020
  10. Apr 11, 2020
  11. Jan 27, 2020
  12. Nov 09, 2018
  13. Nov 06, 2018
  14. Oct 21, 2018
  15. May 04, 2018
  16. Apr 30, 2018
  17. Apr 26, 2018
  18. Feb 21, 2018
  19. Feb 14, 2018
    • cznic's avatar
      Add Int128. · 5455a562
      cznic authored
      	modified:   Makefile
      	modified:   all_test.go
      	new file:   int.go
      	new file:   int_test.go
      	modified:   mathutil.go
      5455a562
  20. Jan 03, 2018
  21. Oct 15, 2017
  22. Oct 14, 2017
  23. Sep 25, 2017
  24. Sep 01, 2017
  25. Jun 21, 2017
  26. Mar 13, 2017
Loading