Skip to content
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

Misc kernel changes #4182

Merged
merged 4 commits into from
Nov 26, 2020
Merged

Misc kernel changes #4182

merged 4 commits into from
Nov 26, 2020

Conversation

fingolfin
Copy link
Member

No description provided.

@fingolfin fingolfin added topic: kernel release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Nov 18, 2020
@fingolfin fingolfin closed this Nov 20, 2020
@fingolfin fingolfin reopened this Nov 20, 2020
@fingolfin
Copy link
Member Author

This PR conflicts with PR #4128 so let's merge #4128 first, then I can update this PR here

Avoid conversion of sets which are not plists. Some timings from an artificial
micro benchmark; before this patch:

    gap> for i in [1..1000000] do IS_EQUAL_SET([1..100], [1..100]); od; time;
    2598
    gap> x:=[1..100];; for i in [1..1000000] do IS_EQUAL_SET(x, x); od; time;
    2487
    gap> x:=[1..100];; y:=[1..100];; for i in [1..1000000] do IS_EQUAL_SET(x, y); od; time;
    2469
    gap> x:=[1..100];; y:=[1..100]+1-1;; for i in [1..1000000] do IS_EQUAL_SET(x, y); od; time;
    1303
    gap> x:=[1..100]+1-1;; y:=[1..100]+1-1;; for i in [1..1000000] do IS_EQUAL_SET(x, y); od; time;
    98

After this patch:

    gap> for i in [1..1000000] do IS_EQUAL_SET([1..100], [1..100]); od; time;
    83
    gap> x:=[1..100];; for i in [1..1000000] do IS_EQUAL_SET(x, x); od; time;
    29
    gap> x:=[1..100];; y:=[1..100];; for i in [1..1000000] do IS_EQUAL_SET(x, y); od; time;
    33
    gap> x:=[1..100];; y:=[1..100]+1-1;; for i in [1..1000000] do IS_EQUAL_SET(x, y); od; time;
    393
    gap> x:=[1..100]+1-1;; y:=[1..100]+1-1;; for i in [1..1000000] do IS_EQUAL_SET(x, y); od; time;
    113
@fingolfin fingolfin merged commit b57ac80 into gap-system:master Nov 26, 2020
@fingolfin fingolfin deleted the mh/misc branch November 26, 2020 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: kernel
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants