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

Refactor Node Temporal properties #1897

Merged
merged 13 commits into from
Jan 8, 2025
Merged

Conversation

fabianmurariu
Copy link
Collaborator

What changes were proposed in this pull request?

For nodes separate edge originating timestamps from temporal properties originating timestamps

Why are the changes needed?

Correctness

Does this PR introduce any user-facing change? If yes is this documented?

API changes

How was this patch tested?

Tests

Are there any further changes required?

Yes, design a History struct

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: 2776818 Previous: 250736e Ratio
lotr_graph_window_50_layered/iterate nodes 12278 ns/iter (± 14) 6044 ns/iter (± 3) 2.03

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Collaborator

@ljeub-pometry ljeub-pometry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Some minor things
  • I am worried that materialise on a windowed persistent graph is loosing property values

raphtory-graphql/src/model/schema/edge_schema.rs Outdated Show resolved Hide resolved
raphtory/src/core/storage/lazy_vec.rs Show resolved Hide resolved
raphtory/src/core/storage/mod.rs Outdated Show resolved Hide resolved
Comment on lines 825 to 839
pub struct EntryMut<'a, NS: 'a> {
i: usize,
guard: parking_lot::RwLockWriteGuard<'a, Vec<T>>,
guard: NS,
_pd: PhantomData<&'a ()>,
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it have been easier to have separate structs for the ref and owned variants?

raphtory/src/core/utils/iter.rs Show resolved Hide resolved
raphtory/src/db/api/view/graph.rs Show resolved Hide resolved
raphtory/src/db/api/view/node_property_filter.rs Outdated Show resolved Hide resolved
raphtory/src/db/graph/views/deletion_graph.rs Outdated Show resolved Hide resolved
raphtory/src/db/graph/views/window_graph.rs Outdated Show resolved Hide resolved
@@ -56,7 +56,7 @@ impl From<&PyTemporalProperties> for PyTemporalPropsCmp {
value
.histories()
.into_iter()
.map(|(k, v)| (k, v.into()))
.filter_map(|(k, v)| (v.len() > 0).then(|| (k, v.into())))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should discuss the semantics

@fabianmurariu fabianmurariu force-pushed the node_tprops_refactor2 branch from e60648c to 2ea6bcf Compare January 7, 2025 14:19
Copy link
Collaborator

@ljeub-pometry ljeub-pometry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@fabianmurariu fabianmurariu merged commit 0885bc9 into master Jan 8, 2025
19 checks passed
@fabianmurariu fabianmurariu deleted the node_tprops_refactor2 branch January 8, 2025 10:24
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