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

remove USE_ALLOCATOR where it very likely makes no difference #506

Merged
merged 1 commit into from
Dec 6, 2023

Conversation

MichaelRawson
Copy link
Contributor

@MichaelRawson MichaelRawson commented Nov 27, 2023

In #499 we got rid of quite a few of the old allocator macros. However, it's not possible to remove any more without possibly affecting performance significantly.

This PR removes only those USE_ALLOCATOR instances where in my opinion it's unlikely to make a difference. This could be because:

  1. The code is unused.
  2. The object is only likely to be created a small number of times: inference engines, decision procedures, SAT solvers, main loops, indices, and the like.
  3. The object is used a moderate number of times, but mostly during parsing: symbols, types.
  4. The object is never heap-allocated.

This removes roughly two-thirds of the USE_ALLOCATOR instances, which allows us to focus on the trickier ones. In my view this could go in without performance testing, but of course I don't object if you think it needs it.

@quickbeam123
Copy link
Collaborator

This seems to be actually helping the notorious discount10 from 8746.8 to 8753.4 TPTP FOL probs in 10000 Mi on average.

@MichaelRawson MichaelRawson merged commit 6561205 into master Dec 6, 2023
1 check passed
@MichaelRawson MichaelRawson deleted the michael-judicious-allocation1 branch December 6, 2023 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants