Skip to content

Instantly share code, notes, and snippets.

@tthsqe12
Last active August 18, 2020 18:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tthsqe12/7226ff8a5c0c609f0f2707f6fcfd695d to your computer and use it in GitHub Desktop.
Save tthsqe12/7226ff8a5c0c609f0f2707f6fcfd695d to your computer and use it in GitHub Desktop.
*******************************************************
* original
*******************************************************
i = 17
0.855682 seconds (826.90 k allocations: 2.884 GiB, 1.68% gc time)
i = 18
0.907002 seconds (952.53 k allocations: 4.553 GiB, 2.32% gc time)
i = 19
10.978187 seconds (3.43 M allocations: 57.138 GiB, 2.53% gc time)
i = 20
13.077951 seconds (3.87 M allocations: 75.772 GiB, 3.08% gc time)
******************************************************
* "improved" version (none of these memory reductions significantly improve the time)
* - non-aliased mat_mul
* - tmp_alloc in _fmpz_vec_get_d_vec_2exp
* - custom matrix mul_classical_inline to avoid mpz_addmul's tmp alloc
******************************************************
i = 17
0.826788 seconds (228.24 k allocations: 22.824 MiB, 0.24% gc time)
i = 18
0.844796 seconds (426.07 k allocations: 64.181 MiB, 0.09% gc time)
i = 19
10.549274 seconds (910.55 k allocations: 92.030 MiB, 0.01% gc time)
i = 20
11.824305 seconds (1.70 M allocations: 518.541 MiB, 0.04% gc time)
***********************************************************
* everything above but have fmpz_lll call fmpz_lll_with_removal_ulll
* with new_size = 200 instead of new_size = 250
**************************************************
i = 17
0.307063 seconds (265.12 k allocations: 33.955 MiB, 0.69% gc time)
i = 18
1.024927 seconds (529.36 k allocations: 79.171 MiB, 0.07% gc time)
i = 19
3.808143 seconds (1.06 M allocations: 208.464 MiB, 0.06% gc time)
i = 20
14.660442 seconds (2.12 M allocations: 626.994 MiB, 0.03% gc time)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment