Skip to content

Code Refactor - Disentangle domain setup and run configuration to support domain caching#104

Draft
vedran-kasalica wants to merge 5 commits into
mainfrom
caching-domain-encoding
Draft

Code Refactor - Disentangle domain setup and run configuration to support domain caching#104
vedran-kasalica wants to merge 5 commits into
mainfrom
caching-domain-encoding

Conversation

@vedran-kasalica
Copy link
Copy Markdown
Member

@vedran-kasalica vedran-kasalica commented Dec 29, 2023

Caching of the domain annotations could speed up APE drastically.

This was my effort to disentangle the encodings of the domain annotations and the run configuration, as it is crucial for caching the domain annotations. It is motivated by the fact that often domain encoding (into cnf) takes longer than the problem solving, and considering that our domains are semi-static, if we cache the domian encoding (cache the cnf encoding of the domain per each length, because each workflow length has different solution space), we can just re-use it and append the run configuration (run configuration would be cnf encoding of workflow inputs, outputs, constraints, etc.). However, I didn't get to finish the refactor, that's why it's still a draft.

Related issue #128

@vedran-kasalica vedran-kasalica marked this pull request as draft January 29, 2024 09:01
@eladrion
Copy link
Copy Markdown
Contributor

Hi @vedran-kasalica, what is the plan for this PR?

@vedran-kasalica
Copy link
Copy Markdown
Member Author

vedran-kasalica commented Sep 23, 2025

Hi @vedran-kasalica, what is the plan for this PR?

Hi @eladrion, this was my effort to disentangle the encodings of the domain annotations and the run configuration, as it is crucial for caching the domain annotations. It is motivated by the fact that often domain encoding (into cnf) takes longer than the problem solving, and considering that our domains are semi-static, if we cache the domian encoding (cache the cnf encoding of the domain per each length, because each workflow length has different solution space), we can just re-use it and append the run configuration (run configuration would be cnf encoding of workflow inputs, outputs, constraints, etc.). However, I didn't get to finish the refactor, that's why it's still a draft.

We talked about caching once, and this could be a nice student project. It could speed up APE drastically.

*I updated the PR description to reflect that.

@vedran-kasalica vedran-kasalica changed the title Code Refactor - Disentangle domain setup and run configuration Code Refactor - Disentangle domain setup and run configuration to support domain caching Sep 23, 2025
@eladrion
Copy link
Copy Markdown
Contributor

Hi @vedran-kasalica. Okay, get that. I will discuss that internally at UP and this PR will then stay open for now

@vedran-kasalica
Copy link
Copy Markdown
Member Author

Hi @vedran-kasalica. Okay, get that. I will discuss that internally at UP and this PR will then stay open for now

thanks! I opened an issue as well #128

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