-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
very slow doctest for all_character_table_names (group_characters.jl:380-395) #2341
Comments
Interestingly this seems to be the same place as the crashes in #2336:
|
The runtime of |
Was this resolved by PR #2349 or is there still something to be done here? |
The doctest is disabled because it takes very long when Browse is not working (I don't really know why... I thought browse is just an ncurses wrapper), so I think this is waiting for GAP_pkg_Browse_jll. |
I think @ThomasBreuer once tried to explain to me why Browse (which indeed ought to "just" be an ncurses wrapper?) is making this character table code faster (and why whatever makes them faster can't be moved to |
According to the documentation of the Browse package, there are three levels of functionality:
Some code for level 3. does not really depend on level 1., and part of this code is used in the CTblLib package. Yes, one could reorganize the involved GAP packages such that all CTblLib functionality is available without Browse (more precisely: without the |
I think this is also a problem for GAP users: I have seen many people who have a GAP with zero compiled packages. They then can't use Browse, but may still use ctbllib. Logically I find it surprising that there is code in Browse that is "needed" for ctbllib to perform certain applications efficiently. I don't know about how much code we are talking, perhaps as yet another alternative it could also simply be duplicated so that it is available if either package is used without the other? |
Duplicating code is usually a good idea for creating problems, not for solving them. |
@ThomasBreuer this should be resolved by the new CTblLib in GAP 4.13.0, right? (we are not using that in OSCAR, though, hence I am not closing this either way) |
Yes, CTblLib 1.3.9 is independent of Browse w.r.t. the code needed by |
I am currently running the doctests many times to identify some crashes and in the process added some statistics to my Documenter.jl checkout to print the location and duration of each block that is processed. And there is one doctest that takes almost half of the total time for the doctests on my machine:
The total doctest time on that Linux machine is about 12 minutes.
Running the code from that doctest directly in the repl is fast:
Any ideas if/how the runtime of this test could be influenced by some other doctests? @ThomasBreuer @fingolfin
I tried this in the CI as well and the duration for the doctests also went down by at least five minutes here: https://github.com/oscar-system/Oscar.jl/actions/runs/4884289287
14-19 min for the doctest step on ubuntu instead of something like 22-29.
(I just changed
jldoctest
tojulia
for that block: f81abbb)Full log (the order in which the blocks are run seems very arbitrary): https://gist.github.com/benlorenz/c89099ffeb3a070ee4628ba2130cfcf8
The text was updated successfully, but these errors were encountered: