Skip to content

Conversation

@ssiccha
Copy link
Collaborator

@ssiccha ssiccha commented Jun 28, 2021

Enables immediate verification and fixes the following issues:
Fixes #11, fixes #16, fixes #35, fixes #37.

To make the immediate verification work a few fixes to other functions are needed. The main commit is f45c7e0.

Previously this PR also did some other things. I've put these other things into separate PRs such that this one now only contains the commits related to immediate verification.

If we merge this, I think we won't need mandarins anymore. If we want to have the "generate a hundred random elements and send them through the recognition tree" we could do the following: we could add a "thorough verification" option which does what immediate verification does for the root of a recog tree, but with more random elements. If that fails maybe restart the whole computation and if that also doesn't do the trick, tell the user.

@ssiccha ssiccha marked this pull request as draft June 28, 2021 23:54
@codecov
Copy link

codecov bot commented Jun 29, 2021

Codecov Report

Merging #280 (2d8784c) into master (6999ba6) will decrease coverage by 0.00%.
The diff coverage is 89.87%.

@@            Coverage Diff             @@
##           master     #280      +/-   ##
==========================================
- Coverage   77.95%   77.94%   -0.01%     
==========================================
  Files          43       43              
  Lines       18401    18427      +26     
==========================================
+ Hits        14344    14363      +19     
- Misses       4057     4064       +7     
Impacted Files Coverage Δ
gap/generic/kernel.gi 89.56% <84.90%> (-0.18%) ⬇️
gap/base/recognition.gi 69.03% <100.00%> (+<0.01%) ⬆️
gap/generic/kernel.gd 100.00% <100.00%> (ø)
gap/matrix.gi 94.64% <100.00%> (+0.23%) ⬆️
gap/perm.gi 97.28% <100.00%> (+0.01%) ⬆️
gap/perm/giant.gi 89.23% <0.00%> (-1.80%) ⬇️
gap/projective/almostsimple/lietype.gi 48.04% <0.00%> (-1.66%) ⬇️
gap/projective/tensor.gi 55.86% <0.00%> (-0.47%) ⬇️
gap/perm/largebase.gi 82.57% <0.00%> (-0.38%) ⬇️
gap/projective/classicalnatural.gi 92.41% <0.00%> (-0.16%) ⬇️
... and 4 more

@ssiccha
Copy link
Collaborator Author

ssiccha commented Jun 29, 2021

Ok, so I added setting immediate verification in the GoProjective method. I understand it such that immediate verification is a simpler (and less powerful) form of mandarins. You generate random elements of the kernel and check whether you can compute an SLP for those. If you can't you add them to the kernel.

This somewhat fixes the first example in #37:

repeat ri:=RecognizeGroup(GL(9,5));; until Size(ri) <> Size(GL(9,5));

I ran this on my machine thrice until it stopped. Without setting immediate verification in GoProjective, on my machine it failed every time after roughly 100 runs. I tried it once with only setting immediate verification in the GoProjective method, and not increasing the number of random elements immediate verification uses. Then recog was able to do roughly 1400 successfull recognitions.

With setting the number of random elements immediate verification uses to 10, I have three processes which ran 3000 successfull recognitions and which are still at it. I'll have to check whether this slows down the test-suite by a lot, but that would surprise me. Update: all three failed after roughly 5000 runs.

I also tested this once without the "fix immediate verification" commit which also worked fine. Maybe we don't even need that? I have to sleep over that.

Also I'm sure this will take care of #35 and the other example in #37.

@ssiccha
Copy link
Collaborator Author

ssiccha commented Jun 29, 2021

This also fixes #16 in that I could do 1500 and 7000 successfull recognitions once I added immediate verification to the method NonTransitive. In addition to doing that, there it'd probably also make sense to add a special "compute kernel generators" function which does sifting or something. Or maybe do that instead of immediate verification?

@ssiccha
Copy link
Collaborator Author

ssiccha commented Jun 29, 2021

It might also make sense to always do an immediate verification when the kernel generators are created randomly.

@ssiccha

This comment has been minimized.

@ssiccha ssiccha requested a review from fingolfin June 29, 2021 21:58
@ssiccha ssiccha marked this pull request as ready for review June 29, 2021 21:58
@ssiccha
Copy link
Collaborator Author

ssiccha commented Jul 1, 2021

I also got a fix for #11, but I need to think about that a little more. I'm pushing my WIP, that needs to be cleaned up though.

@ssiccha ssiccha force-pushed the ss/RandomElm branch 2 times, most recently from 54870c2 to f3782d1 Compare July 1, 2021 21:22
@ssiccha ssiccha marked this pull request as draft July 1, 2021 21:22
@ssiccha
Copy link
Collaborator Author

ssiccha commented Jul 1, 2021

I've converted this into a draft again since I also rewrote the FindKernelRandom and the immediate verification code. I'll clean this up and add tests for the issues I claim this fixes. Then this should be ready I think.

@ssiccha ssiccha force-pushed the ss/RandomElm branch 2 times, most recently from b573e6f to 99c4771 Compare July 2, 2021 22:25
@ssiccha
Copy link
Collaborator Author

ssiccha commented Aug 10, 2021

The newest commits are due to me trying to find the reason behind an error I'm trying to fix.

I've moved the test case producing the error into tst/working/quick/bugfix.tst and am using reproduce.g to zero in on the bug. I think I'm pretty close.

@ssiccha ssiccha force-pushed the ss/RandomElm branch 5 times, most recently from 9b60344 to 632f2d9 Compare August 11, 2021 16:02
@ssiccha
Copy link
Collaborator Author

ssiccha commented Aug 11, 2021

This is now ready for review. On my machine tst/working/quick/cgo1.tst fails, but that doesn't seem to have anything to do with this PR. If I try that file 100 times in a session, it passes the test every time.

I have the feeling, that the test suite got so big, that we start hitting random errors regularly..

@ssiccha ssiccha changed the title RandomElm and immediate verification Enable ImmediateVerification and make it useable Aug 11, 2021
@ssiccha ssiccha marked this pull request as ready for review August 11, 2021 16:03
@ssiccha
Copy link
Collaborator Author

ssiccha commented Aug 20, 2021

Rebased onto master.

@fingolfin
Copy link
Member

I do not understand yet how this removes the the need for mandarins, but we can discuss this via Jitsi on Wednesday

@ssiccha ssiccha force-pushed the ss/RandomElm branch 3 times, most recently from 3f54eeb to 1a7f8d9 Compare August 24, 2021 10:38
@ssiccha
Copy link
Collaborator Author

ssiccha commented Aug 24, 2021

Tests now pass. Do you think this can be merged as it is @fingolfin ?

@fingolfin
Copy link
Member

I'd like to know how this affects performance. Do the tests get noticeably slower / faster? Even if they are slower, we may want to merge it, but whatever happens should be tested and documented here.

As I explained on a conference call 1-2 weeks ago, I am unconvinced this is a proper replacement for Mandarins -- I am in particular concerned that getting to a confidence level similar to what e.g. 100 mandarins provide, one would have to create soooo many random elements with this method (growing rapidly with the number of branch points) that it would get very slow. But I might be wrong! But that's why I am also asking about performance

During immediate verification, if we encounter a kernel which is marked
as trivial, we need to verify that the computed SLP indeed yields the
unit of the group.

Add a hack for nodes recognised by BlocksModScalars, since then we can't
use ri!.isone.
It errored when its second argument was an empty list.
@ssiccha ssiccha force-pushed the ss/RandomElm branch 3 times, most recently from 2df019a to b61be0b Compare September 6, 2021 12:19
Add standard argument for FindKernelFastNormalClosure.
Rewrite FindKernelRandom & immediate verification

Enable immediate verification for:
- GoProjective
- NonTransitive
- BlockDiagonal

Use more random elements in immediate verification

Add a helper function
`GenerateRandomKernelElementsAndOptionallyVerifyThem`, which is
used both when computing random generators of a kernel and when doing
immediate verification of a kernel.

Add the function `ImmediateVerification`.

Slightly change the return values of FindKernelRandom and
FindKernelFastNormalClosure: previously `true` denoted success and
`false` denoted that something went wrong while computing an SLP in the
image node. Now in the latter situation `fail` is returned.
This is to bring them in line with the return values of the new function
`ImmediateVerification`, which returns `true` upon successfull
verification, `false` upon finding new kernel generators, and `fail`
upon failure to compute an SLP in the image node.

Add a function handling the situation where immediate verification
should be performed, but only trivial kernel generators were found.

Also remove the `InfoRecog` progress indicator during immediate
verification.

Reenable and add tests in tst/bugfix.tst and
tst/working/veryslow/ClassicalNatural.tst for:
Fixes gap-packages#11, fixes gap-packages#16, fixes gap-packages#35, fixes gap-packages#37.

squash
@ssiccha
Copy link
Collaborator Author

ssiccha commented Sep 6, 2021

Hrmpf, I cleaned up the handling of the case where the kernel was recognized as being trivial, but now veryslow/MatFDPM.tst fails. I'll have to check whether that's by accident or whether it's systematically broken.

@ssiccha
Copy link
Collaborator Author

ssiccha commented Sep 7, 2021

So, I've compared how often recog incorrectly recognizes the groups in veryslow/MatFDPM.tst. For this branch I got 74 incorrect recognitions (size was too small by the factor 2) out of 3183 RecogniseGroup calls. For the main branch I got 91 incorrect recognitions out of 4500 RecogniseGroup calls. So the fact that we hit this error with this PR is just bad luck.

@ssiccha
Copy link
Collaborator Author

ssiccha commented Oct 5, 2021

I'd like to know how this affects performance. Do the tests get noticeably slower / faster? Even if they are slower, we may want to merge it, but whatever happens should be tested and documented here.

With this PR tst/working/quick/bugfix.tst takes roughly 63 seconds, instead of 200ms without this PR. Thus I'm moving that test into the slow/ folder.

General performance doesn't seem to be affected too much by this PR.
Here are the timings with (PR) and without (master) immediate verification. The full outputs of the test runs can be found below.

  With PR Master
All 496.89 434.78
Quick 19.64 18.3

Test runs

With PR

All

testing: /home/sergio/projects/pkg/recog/tst/working/combined/ClassicalNaturalNam
   58308 ms (1480 ms GC) and 3.98GB allocated for combined/ClassicalNaturalNaming.tst
testing: /home/sergio/projects/pkg/recog/tst/working/combined/Sporadic.tst
   24806 ms (5439 ms GC) and 2.75GB allocated for combined/Sporadic.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/GenericSnAnUnknownDegree.tst
      22 ms (0 ms GC) and 4.73MB allocated for quick/GenericSnAnUnknownDegree.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatDiagonal.tst
    3178 ms (745 ms GC) and 580MB allocated for quick/MatDiagonal.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatReducible.tst
     169 ms (5 ms GC) and 14.6MB allocated for quick/MatReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatSn.tst
     472 ms (24 ms GC) and 74.7MB allocated for quick/MatSn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatTrivial.tst
       6 ms (0 ms GC) and 544KB allocated for quick/MatTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/Methods.tst
       1 ms (0 ms GC) and 27.8KB allocated for quick/Methods.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermAllSubgroups.tst
     614 ms (112 ms GC) and 52.1MB allocated for quick/PermAllSubgroups.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermCycle.tst
       2 ms (0 ms GC) and 215KB allocated for quick/PermCycle.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermDirProd.tst
      15 ms (0 ms GC) and 2.12MB allocated for quick/PermDirProd.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermThrowAwayFixedPoints.tst
       4 ms (0 ms GC) and 651KB allocated for quick/PermThrowAwayFixedPoints.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermTrivial.tst
       2 ms (0 ms GC) and 161KB allocated for quick/PermTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex.tst
     292 ms (88 ms GC) and 22.2MB allocated for quick/ProjLowIndex.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex2.tst
    2920 ms (63 ms GC) and 200MB allocated for quick/ProjLowIndex2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjNotAbsIrred.tst
     260 ms (8 ms GC) and 26.1MB allocated for quick/ProjNotAbsIrred.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjReducible.tst
     241 ms (11 ms GC) and 24.5MB allocated for quick/ProjReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjStabChain.tst
    1387 ms (44 ms GC) and 107MB allocated for quick/ProjStabChain.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield.tst
     396 ms (94 ms GC) and 28.9MB allocated for quick/ProjSubfield.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield2.tst
     379 ms (12 ms GC) and 34.1MB allocated for quick/ProjSubfield2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield3.tst
      68 ms (0 ms GC) and 4.78MB allocated for quick/ProjSubfield3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensor.tst
    1084 ms (36 ms GC) and 91.0MB allocated for quick/ProjTensor.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensorInduced.tst
    1029 ms (36 ms GC) and 85.8MB allocated for quick/ProjTensorInduced.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjThreeLargeElOrders.tst
     738 ms (25 ms GC) and 47.2MB allocated for quick/ProjThreeLargeElOrders.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTrivial.tst
       5 ms (0 ms GC) and 541KB allocated for quick/ProjTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/RecogMethod.tst
       0 ms (0 ms GC) and 59.8KB allocated for quick/RecogMethod.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/bugfix.tst
   62147 ms (6203 ms GC) and 7.26GB allocated for quick/bugfix.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/cgo1.tst
    1107 ms (19 ms GC) and 66.1MB allocated for quick/cgo1.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/classical.tst
     947 ms (20 ms GC) and 57.0MB allocated for quick/classical.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/mixed.tst
       1 ms (0 ms GC) and 54.3KB allocated for quick/mixed.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/sl3.tst
      97 ms (0 ms GC) and 9.78MB allocated for quick/sl3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/C3C5.tst
    6068 ms (217 ms GC) and 385MB allocated for slow/C3C5.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/GenericSnAnUnknownDegree.tst
   74913 ms (11461 ms GC) and 7.09GB allocated for slow/GenericSnAnUnknownDegree.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatAn.tst
   15675 ms (263 ms GC) and 1010MB allocated for slow/MatAn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatC3.tst
     295 ms (9 ms GC) and 27.0MB allocated for slow/MatC3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatC3_2.tst
    9532 ms (192 ms GC) and 771MB allocated for slow/MatC3_2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatHSmax5.tst
    2798 ms (81 ms GC) and 370MB allocated for slow/MatHSmax5.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/NonDeletedPermModuleRepOfSn.tst
    2418 ms (44 ms GC) and 130MB allocated for slow/NonDeletedPermModuleRepOfSn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/PermLargeBasePrimitive.tst
    4748 ms (1574 ms GC) and 2.63GB allocated for slow/PermLargeBasePrimitive.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/ProjC6.tst
    6590 ms (246 ms GC) and 421MB allocated for slow/ProjC6.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/ProjDet.tst
   16073 ms (316 ms GC) and 604MB allocated for slow/ProjDet.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/basic.tst
    6247 ms (1442 ms GC) and 1.04GB allocated for slow/basic.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/ClassicalNatural.ts
   82053 ms (8368 ms GC) and 7.31GB allocated for veryslow/ClassicalNatural.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/MatC6.tst
   28641 ms (1385 ms GC) and 1.92GB allocated for veryslow/MatC6.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/MatFDPM.tst
   30307 ms (646 ms GC) and 1.23GB allocated for veryslow/MatFDPM.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/PermSym10Subgroup.t
   41292 ms (3291 ms GC) and 4.67GB allocated for veryslow/PermSym10Subgroup.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/PermTrans16.tst
    8549 ms (760 ms GC) and 962MB allocated for veryslow/PermTrans16.tst
-----------------------------------
total    496896 ms (44759 ms GC) and 46.0GB allocated
              0 failures in 47 files

Quick

testing: /home/sergio/projects/pkg/recog/tst/working/combined/ClassicalNaturalN\
aming.tst
    2845 ms (61 ms GC) and 179MB allocated for ClassicalNaturalNaming.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/GenericSnAnUnknownDe\
gree.tst
      45 ms (0 ms GC) and 8.35MB allocated for GenericSnAnUnknownDegree.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatDiagonal.tst
    2985 ms (555 ms GC) and 535MB allocated for MatDiagonal.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatReducible.tst
     157 ms (5 ms GC) and 14.5MB allocated for MatReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatSn.tst
     447 ms (22 ms GC) and 70.7MB allocated for MatSn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatTrivial.tst
       6 ms (0 ms GC) and 541KB allocated for MatTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/Methods.tst
       0 ms (0 ms GC) and 27.8KB allocated for Methods.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermAllSubgroups.tst
     606 ms (98 ms GC) and 52.1MB allocated for PermAllSubgroups.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermCycle.tst
       2 ms (0 ms GC) and 218KB allocated for PermCycle.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermDirProd.tst
      18 ms (0 ms GC) and 2.52MB allocated for PermDirProd.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermThrowAwayFixedPo\
ints.tst
       5 ms (0 ms GC) and 653KB allocated for PermThrowAwayFixedPoints.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermTrivial.tst
       8 ms (6 ms GC) and 175KB allocated for PermTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex.tst
     244 ms (8 ms GC) and 29.2MB allocated for ProjLowIndex.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex2.tst
    3940 ms (301 ms GC) and 318MB allocated for ProjLowIndex2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjNotAbsIrred.tst
     294 ms (14 ms GC) and 31.3MB allocated for ProjNotAbsIrred.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjReducible.tst
     358 ms (98 ms GC) and 28.0MB allocated for ProjReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjStabChain.tst
    1530 ms (37 ms GC) and 117MB allocated for ProjStabChain.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield.tst
     361 ms (14 ms GC) and 36.7MB allocated for ProjSubfield.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield2.tst
     464 ms (97 ms GC) and 35.6MB allocated for ProjSubfield2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield3.tst
      65 ms (0 ms GC) and 4.71MB allocated for ProjSubfield3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensor.tst
    1030 ms (33 ms GC) and 88.3MB allocated for ProjTensor.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensorInduced.ts\
t
    1023 ms (34 ms GC) and 84.8MB allocated for ProjTensorInduced.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjThreeLargeElOrde\
rs.tst
     755 ms (18 ms GC) and 47.2MB allocated for ProjThreeLargeElOrders.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTrivial.tst
       5 ms (0 ms GC) and 540KB allocated for ProjTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/RecogMethod.tst
       0 ms (0 ms GC) and 59.8KB allocated for RecogMethod.tst
testing: /home/sergio/projects/pkg/recog/tst/working/combined/Sporadic.tst
     463 ms (245 ms GC) and 74.7MB allocated for Sporadic.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/cgo1.tst
     920 ms (14 ms GC) and 53.0MB allocated for cgo1.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/classical.tst
     989 ms (17 ms GC) and 57.0MB allocated for classical.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/mixed.tst
       0 ms (0 ms GC) and 55.0KB allocated for mixed.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/sl3.tst
      82 ms (4 ms GC) and 11.4MB allocated for sl3.tst
-----------------------------------
total     19647 ms (1681 ms GC) and 1.83GB allocated
              0 failures in 30 files

Master

All

testing: /home/sergio/projects/pkg/recog/tst/working/combined/ClassicalNaturalN\
aming.tst
   62698 ms (1403 ms GC) and 3.98GB allocated for combined/ClassicalNaturalNami\
ng.tst
testing: /home/sergio/projects/pkg/recog/tst/working/combined/Sporadic.tst
   25945 ms (5336 ms GC) and 2.75GB allocated for combined/Sporadic.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/GenericSnAnUnknownDe\
gree.tst
      25 ms (0 ms GC) and 4.73MB allocated for quick/GenericSnAnUnknownDegree.t\
st
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatDiagonal.tst
    3708 ms (1402 ms GC) and 643MB allocated for quick/MatDiagonal.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatReducible.tst
     117 ms (5 ms GC) and 12.2MB allocated for quick/MatReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatSn.tst
     368 ms (13 ms GC) and 47.0MB allocated for quick/MatSn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatTrivial.tst
       6 ms (0 ms GC) and 541KB allocated for quick/MatTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/Methods.tst
       0 ms (0 ms GC) and 27.8KB allocated for quick/Methods.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermAllSubgroups.tst
     725 ms (198 ms GC) and 52.1MB allocated for quick/PermAllSubgroups.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermCycle.tst
       2 ms (0 ms GC) and 217KB allocated for quick/PermCycle.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermDirProd.tst
      17 ms (0 ms GC) and 2.14MB allocated for quick/PermDirProd.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermThrowAwayFixedPo\
ints.tst
       5 ms (0 ms GC) and 634KB allocated for quick/PermThrowAwayFixedPoints.ts\
t
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermTrivial.tst
       2 ms (0 ms GC) and 179KB allocated for quick/PermTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex.tst
     182 ms (9 ms GC) and 19.5MB allocated for quick/ProjLowIndex.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex2.tst
    3137 ms (71 ms GC) and 216MB allocated for quick/ProjLowIndex2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjNotAbsIrred.tst
     284 ms (13 ms GC) and 28.4MB allocated for quick/ProjNotAbsIrred.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjReducible.tst
     228 ms (13 ms GC) and 23.4MB allocated for quick/ProjReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjStabChain.tst
    1832 ms (145 ms GC) and 113MB allocated for quick/ProjStabChain.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield.tst
     331 ms (11 ms GC) and 29.7MB allocated for quick/ProjSubfield.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield2.tst
     411 ms (12 ms GC) and 32.2MB allocated for quick/ProjSubfield2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield3.tst
      66 ms (2 ms GC) and 4.56MB allocated for quick/ProjSubfield3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensor.tst
    1032 ms (126 ms GC) and 73.3MB allocated for quick/ProjTensor.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensorInduced.ts\
t
    1054 ms (31 ms GC) and 84.9MB allocated for quick/ProjTensorInduced.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjThreeLargeElOrde\
rs.tst
     757 ms (15 ms GC) and 46.0MB allocated for quick/ProjThreeLargeElOrders.ts\
t
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTrivial.tst
       4 ms (0 ms GC) and 538KB allocated for quick/ProjTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/RecogMethod.tst
       0 ms (0 ms GC) and 59.8KB allocated for quick/RecogMethod.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/bugfix.tst
     184 ms (86 ms GC) and 10.1MB allocated for quick/bugfix.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/cgo1.tst
    1039 ms (19 ms GC) and 57.6MB allocated for quick/cgo1.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/classical.tst
    1047 ms (18 ms GC) and 57.0MB allocated for quick/classical.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/mixed.tst
       1 ms (0 ms GC) and 54.3KB allocated for quick/mixed.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/sl3.tst
      76 ms (3 ms GC) and 11.8MB allocated for quick/sl3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/C3C5.tst
    6397 ms (221 ms GC) and 380MB allocated for slow/C3C5.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/GenericSnAnUnknownDeg\
ree.tst
   85302 ms (12172 ms GC) and 7.50GB allocated for slow/GenericSnAnUnknownDegre\
e.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatAn.tst
    6916 ms (136 ms GC) and 569MB allocated for slow/MatAn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatC3.tst
     314 ms (7 ms GC) and 25.9MB allocated for slow/MatC3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatC3_2.tst
    8284 ms (158 ms GC) and 525MB allocated for slow/MatC3_2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/MatHSmax5.tst
    2729 ms (277 ms GC) and 309MB allocated for slow/MatHSmax5.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/NonDeletedPermModuleR\
epOfSn.tst
   10423 ms (420 ms GC) and 576MB allocated for slow/NonDeletedPermModuleRepOfS\
n.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/PermLargeBasePrimitiv\
e.tst
    4178 ms (1548 ms GC) and 2.29GB allocated for slow/PermLargeBasePrimitive.t\
st
testing: /home/sergio/projects/pkg/recog/tst/working/slow/ProjC6.tst
    8013 ms (297 ms GC) and 479MB allocated for slow/ProjC6.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/ProjDet.tst
   18053 ms (344 ms GC) and 602MB allocated for slow/ProjDet.tst
testing: /home/sergio/projects/pkg/recog/tst/working/slow/basic.tst
    6371 ms (1505 ms GC) and 1.01GB allocated for slow/basic.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/ClassicalNatural.\
tst
   73646 ms (7048 ms GC) and 5.96GB allocated for veryslow/ClassicalNatural.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/MatC6.tst
   43961 ms (2115 ms GC) and 2.64GB allocated for veryslow/MatC6.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/MatFDPM.tst
    2616 ms (274 ms GC) and 144MB allocated for veryslow/MatFDPM.tst
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/PermSym10Subgroup\
.tst
   43694 ms (3277 ms GC) and 4.67GB allocated for veryslow/PermSym10Subgroup.ts\
t
testing: /home/sergio/projects/pkg/recog/tst/working/veryslow/PermTrans16.tst
    8608 ms (772 ms GC) and 954MB allocated for veryslow/PermTrans16.tst
-----------------------------------
total    434788 ms (39502 ms GC) and 36.8GB allocated
              0 failures in 47 files

Quick

testing: /home/sergio/projects/pkg/recog/tst/working/combined/ClassicalNaturalNaming.tst
    2917 ms (63 ms GC) and 179MB allocated for ClassicalNaturalNaming.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/GenericSnAnUnknownDegree.tst
      48 ms (0 ms GC) and 8.35MB allocated for GenericSnAnUnknownDegree.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatDiagonal.tst
    2767 ms (607 ms GC) and 532MB allocated for MatDiagonal.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatReducible.tst
     120 ms (5 ms GC) and 11.9MB allocated for MatReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatSn.tst
     391 ms (15 ms GC) and 43.7MB allocated for MatSn.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/MatTrivial.tst
       6 ms (0 ms GC) and 544KB allocated for MatTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/Methods.tst
       0 ms (0 ms GC) and 27.8KB allocated for Methods.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermAllSubgroups.tst
     619 ms (106 ms GC) and 52.2MB allocated for PermAllSubgroups.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermCycle.tst
       3 ms (0 ms GC) and 219KB allocated for PermCycle.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermDirProd.tst
      17 ms (0 ms GC) and 2.10MB allocated for PermDirProd.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermThrowAwayFixedPoints.tst
       5 ms (0 ms GC) and 635KB allocated for PermThrowAwayFixedPoints.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/PermTrivial.tst
       1 ms (0 ms GC) and 171KB allocated for PermTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex.tst
     174 ms (9 ms GC) and 19.3MB allocated for ProjLowIndex.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjLowIndex2.tst
    2808 ms (262 ms GC) and 218MB allocated for ProjLowIndex2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjNotAbsIrred.tst
     274 ms (10 ms GC) and 26.1MB allocated for ProjNotAbsIrred.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjReducible.tst
     234 ms (13 ms GC) and 27.5MB allocated for ProjReducible.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjStabChain.tst
    1626 ms (46 ms GC) and 116MB allocated for ProjStabChain.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield.tst
     409 ms (93 ms GC) and 28.2MB allocated for ProjSubfield.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield2.tst
     347 ms (13 ms GC) and 31.9MB allocated for ProjSubfield2.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjSubfield3.tst
      68 ms (0 ms GC) and 4.77MB allocated for ProjSubfield3.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensor.tst
     981 ms (32 ms GC) and 86.3MB allocated for ProjTensor.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTensorInduced.tst
     910 ms (31 ms GC) and 69.3MB allocated for ProjTensorInduced.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjThreeLargeElOrders.tst
     791 ms (23 ms GC) and 47.4MB allocated for ProjThreeLargeElOrders.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/ProjTrivial.tst
       7 ms (0 ms GC) and 539KB allocated for ProjTrivial.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/RecogMethod.tst
       1 ms (0 ms GC) and 59.8KB allocated for RecogMethod.tst
testing: /home/sergio/projects/pkg/recog/tst/working/combined/Sporadic.tst
     471 ms (251 ms GC) and 74.7MB allocated for Sporadic.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/bugfix.tst
     182 ms (81 ms GC) and 10.1MB allocated for bugfix.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/cgo1.tst
    1017 ms (20 ms GC) and 57.6MB allocated for cgo1.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/classical.tst
    1031 ms (23 ms GC) and 57.0MB allocated for classical.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/mixed.tst
       1 ms (0 ms GC) and 54.3KB allocated for mixed.tst
testing: /home/sergio/projects/pkg/recog/tst/working/quick/sl3.tst
      80 ms (3 ms GC) and 11.8MB allocated for sl3.tst
-----------------------------------
total     18306 ms (1706 ms GC) and 1.67GB allocated
              0 failures in 31 files

@fingolfin
Copy link
Member

And what exactly in bugfix.tst became so slow, and why?

@ssiccha
Copy link
Collaborator Author

ssiccha commented Oct 5, 2021

Ah, because I reenabled all sorts of tests, namely those for issues #11, #16, #35, #37. I'll double-check that the other tests in bugfix.tst still are quick.

@ssiccha
Copy link
Collaborator Author

ssiccha commented Oct 5, 2021

If I remove the tests for the above issues, then the test file again runs in 220ms. So everything is fine there.

@ssiccha
Copy link
Collaborator Author

ssiccha commented Oct 5, 2021

I added a test for GL(3,27). Maybe then we don't hit the spurious random error anymore.

@fingolfin
Copy link
Member

So because you added some slow tests to bugfix.tst, you are moving all of it to the "slow" directory? Why not keep the quick tests where they are are, and add the slow tests to a new file (which can also be called bugfix.tst, just in a different dir)

@ssiccha
Copy link
Collaborator Author

ssiccha commented Oct 6, 2021

So because you added some slow tests to bugfix.tst, you are moving all of it to the "slow" directory? Why not keep the quick tests where they are are, and add the slow tests to a new file (which can also be called bugfix.tst, just in a different dir)

I think previously there only were two tests in there. I can split the file up, but I'll do that now in a separate PR. I have been fighting with the test suite for so long that I just want to have this in now.

@ssiccha ssiccha merged commit 2a069ef into gap-packages:master Oct 6, 2021
@ssiccha ssiccha deleted the ss/RandomElm branch October 6, 2021 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants