Skip to content

Commit 56f20ea

Browse files
Merge pull request #260 from frederikfabriciusbjerre/performance
2 parents 79f9fe2 + f6c4005 commit 56f20ea

11 files changed

Lines changed: 750 additions & 801 deletions

File tree

NEWS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# caugi (development version)
22

3+
## Improvements
4+
5+
- Improved performance of all queries. Speedups are more significant on larger graphs,
6+
but even on small graphs, queries are roughly 5x faster.
7+
8+
39
# caugi 1.1.0
410

511
## New Features

R/extendr-wrappers.R

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ rs_graph_class <- function(session) .Call(wrap__rs_graph_class, session)
5858

5959
rs_names <- function(session) .Call(wrap__rs_names, session)
6060

61+
rs_names_subset <- function(session, indices) .Call(wrap__rs_names_subset, session, indices)
62+
6163
rs_index_of <- function(session, name) .Call(wrap__rs_index_of, session, name)
6264

6365
rs_indices_of <- function(session, names) .Call(wrap__rs_indices_of, session, names)
@@ -68,33 +70,29 @@ rs_is_valid <- function(session) .Call(wrap__rs_is_valid, session)
6870

6971
rs_build <- function(session) invisible(.Call(wrap__rs_build, session))
7072

71-
rs_topological_sort <- function(session) .Call(wrap__rs_topological_sort, session)
72-
73-
rs_parents_of <- function(session, idxs) .Call(wrap__rs_parents_of, session, idxs)
73+
children <- function(cg, nodes, index) .Call(wrap__children, cg, nodes, index)
7474

75-
rs_children_of <- function(session, idxs) .Call(wrap__rs_children_of, session, idxs)
75+
neighbors <- function(cg, nodes, index, mode) .Call(wrap__neighbors, cg, nodes, index, mode)
7676

77-
rs_undirected_of <- function(session, idxs) .Call(wrap__rs_undirected_of, session, idxs)
77+
ancestors <- function(cg, nodes, index, open) .Call(wrap__ancestors, cg, nodes, index, open)
7878

79-
rs_neighbors_of <- function(session, idxs, mode) .Call(wrap__rs_neighbors_of, session, idxs, mode)
79+
descendants <- function(cg, nodes, index, open) .Call(wrap__descendants, cg, nodes, index, open)
8080

81-
rs_ancestors_of <- function(session, node) .Call(wrap__rs_ancestors_of, session, node)
81+
anteriors <- function(cg, nodes, index, open) .Call(wrap__anteriors, cg, nodes, index, open)
8282

83-
rs_descendants_of <- function(session, node) .Call(wrap__rs_descendants_of, session, node)
83+
posteriors <- function(cg, nodes, index, open) .Call(wrap__posteriors, cg, nodes, index, open)
8484

85-
rs_anteriors_of <- function(session, node) .Call(wrap__rs_anteriors_of, session, node)
85+
markov_blanket <- function(cg, nodes, index) .Call(wrap__markov_blanket, cg, nodes, index)
8686

87-
rs_posteriors_of <- function(session, node) .Call(wrap__rs_posteriors_of, session, node)
87+
exogenous <- function(cg, undirected_as_parents) .Call(wrap__exogenous, cg, undirected_as_parents)
8888

89-
rs_markov_blanket_of <- function(session, node) .Call(wrap__rs_markov_blanket_of, session, node)
89+
topological_sort <- function(cg) .Call(wrap__topological_sort, cg)
9090

91-
rs_spouses_of <- function(session, idxs) .Call(wrap__rs_spouses_of, session, idxs)
91+
spouses <- function(cg, nodes, index) .Call(wrap__spouses, cg, nodes, index)
9292

93-
rs_exogenous_nodes <- function(session, undirected_as_parents) .Call(wrap__rs_exogenous_nodes, session, undirected_as_parents)
93+
districts <- function(cg, nodes, index, all) .Call(wrap__districts, cg, nodes, index, all)
9494

95-
rs_districts <- function(session) .Call(wrap__rs_districts, session)
96-
97-
rs_district_of <- function(session, idx) .Call(wrap__rs_district_of, session, idx)
95+
parents <- function(cg, nodes, index) .Call(wrap__parents, cg, nodes, index)
9896

9997
rs_is_acyclic <- function(session) .Call(wrap__rs_is_acyclic, session)
10098

@@ -126,6 +124,8 @@ rs_latent_project <- function(session, latents) .Call(wrap__rs_latent_project, s
126124

127125
rs_induced_subgraph <- function(session, keep) .Call(wrap__rs_induced_subgraph, session, keep)
128126

127+
subgraph <- function(cg, nodes, index) .Call(wrap__subgraph, cg, nodes, index)
128+
129129
rs_d_separated <- function(session, xs, ys, z) .Call(wrap__rs_d_separated, session, xs, ys, z)
130130

131131
rs_minimal_d_separator <- function(session, xs, ys, include, restrict) .Call(wrap__rs_minimal_d_separator, session, xs, ys, include, restrict)

0 commit comments

Comments
 (0)