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
Move 'import' in orthogonal_array() #16875
Comments
Dependencies: #16870 |
This comment has been minimized.
This comment has been minimized.
Branch: public/1687 |
Commit: |
Changed branch from public/1687 to public/16875 |
Last 10 new commits:
|
comment:4
Hello, What we win with my first commit is impressive! About your commit: I do not like the fact that we cache twice the same data. Vincent |
comment:6
Yo !
The imports.... And they don't even appear in %prun
Well, do you like the timings ? Actually, it seems that your removing the imports was an important part of why the recursive functions were so slow. With your modification my caching only saves one second over the 10 that it takes to build the table up to 1000, but well... I think it's worth keeping anyway. And perhaps we will remove that when everything will be in Cython for it will not save anything anymore. Nathann |
comment:7
Another proposition at Vincent |
comment:8
Yo ! You may not like this additional caching (1Mb or RAM ? Yes I understand, that can be a problem) but what I do not like are public functions like yours with "the hack I need for my own code" that checks consecutive values. You just don't write that in a user-exposed function. Here is a proposition: your two commits here are good and are useful, se we need them now. If this Mb of caching is a problem for you then we can remove it from this ticket and let it go like that. Your function I will also use the chance to convert the caching system to pure Cython, so that it will become a simple array lookup, nothing more complicated. We can also keep this caching thing in the meantime, it's up to you. Tell me and I will start writing the code. Nathann |
comment:9
Hello,
Because your caching is not "the hack I need for my own code"? Moreover, in my The simplest would be to let this ticket go without Vincent |
Changed author from Nathann Cohen to Vincent Delecroix |
comment:10
Yo !
My function is cached and is named
You have nothing when the data being stored is 99% of useless pointers because it's dictionaries toward Integer objects, or when you store numbers between 0 and 1000 ont 64-bits integers, but it becomes a problem when instead of the useless data you store twice the same thing ?
Okay ! Then I update this branch in a second and give it a positive review (all the code is yours). And I will begin to write this is_availabe function in a second, everything in Cython. Let's hope that it will make a big difference ! Nathann |
Reviewer: Nathann Cohen |
comment:12
(set back to positive review as a push changes the status) |
comment:13
Thanks ! Nathann |
Changed branch from public/16875 to |
Win some perf with a couple of improvements. Nothing fantastic, but still worth taking.
Nathann
Before
After
Depends on #16870
CC: @videlec
Component: combinatorial designs
Author: Vincent Delecroix
Branch/Commit:
1b36757
Reviewer: Nathann Cohen
Issue created by migration from https://trac.sagemath.org/ticket/16875
The text was updated successfully, but these errors were encountered: