Comments (4)
I think one way to increase sharing would be to somehow use a Cargo workspace as we have done for the crates below rust/template
. However, I am not sure if nesting of workspaces is possible and how to keep the workspace up-to-date with newly added tests to begin with. So it does not sound like an appealing way to go about that to me, but at the same time it's the only thought that came to mind.
from differential-datalog.
#501 made significant progress towards resolving this issue. Remaining TODOs:
- Move differential-datalog crate out of the template and into a shared location, e.g., $DDLOG_HOME, so we only need to compile it once and not for each DDlog program. This way we should be able to run more tests.
- See if we can speed-up recompilation of large programs even more, e.g., by placing each value type in a separate module that will only be recompiled when that type changes.
- Smarter memory allocation strategy that would allocate multiple values at once using domain-specific information from DD.
from differential-datalog.
More improvements in #512 and #520.
from differential-datalog.
It appears that a lot of remaining overhead comes from auto-derived trait implementations. So the next step would be to see if we can do better by getting DDlog to generate these trait implementations instead.
from differential-datalog.
Related Issues (20)
- Asymmetric ownership of records in API HOT 1
- Feature request: DDlogRecord cloning API HOT 2
- Use the DD upsert operator instead of maintaining input state in DDlog.
- sql-ddlog feature request: support WHERE IN <subquery>
- souffle's ord() is different from ddlog HOT 4
- Anchors inside profile
- SQL to DDlog compiler cannot compile when queries have windows, joins, aliases
- Java DDlogAPI can't compile in different directory HOT 3
- SQL to DDlog compiler cannot compile JOINs with aliases with the same name as the original identifier
- Unknown variable in Negations statement HOT 5
- (Question) Iterating over vector elements in the body of a rule HOT 3
- Stopped instance should return a meaningful error message [was: Error when trying to delete a relation]. HOT 5
- Dev dependencies in prod release HOT 2
- Type constraints for right-hand operand of shift operators HOT 3
- `ddlog -o` option has weird behavior HOT 2
- Why I cant find test/datalog_tests/redist.dl and ddlog.h HOT 1
- Is there any API to dump the size of a relation rather than the whole content? HOT 3
- How to use the self-profiler API? HOT 5
- Tutorial example generates lots of noisy Rust warnings HOT 3
- Benchmark dataset avaliable? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from differential-datalog.