Skip to content

[Philosophy] "cross-feeding" vs "performance" -- ie dispatch vs specialized #264

@dehann

Description

@dehann

EDIT: some of the actually verbs like update have now been dropped. But the philosophy aspect of this ticket remains a central objective for DFG v1. For latest updates to verbs, see either the dictionary:

Philosophy Still Valid (ticket contents has been duplicated elsewhere as work progressed)

DFG is about having access to various graphing technologies in a way that allows info/data/etc to be easily transferred between technologies in a standard way. For example:

# copy from one dfg to another, regardless of different SolverParams types
copyGraph!(localdfg, cgdfg, args...)

merge!(CloudDFG, FileDFG)
merge!(FileDFG, CloudDFG)
merge!(CloudDFG, LightDFG)
merge!(GraphsDFG, LightDFG)
merge!(GraffDFG, CloudDFG) # seems excessive, but its about the philosophy 
# ...

updateVariables!(LigthDFG, CloudDFG)
updateVariables!(FileDFG, GraphDFG) # to illustrate point
updateVariables!(FuseDFG, LightDFG) # to illustrate point
# ...

buildSubgraph(::LightDFG, GraphDFG, ...)
buildSubgraph(::CloudDFG, LightDFG, ...)
buildSubgraph(::FileDFG, CloudDFG, ...)
# ...

Originates from hard discussions on:

cc @GearsAD , @Affie

EDIT: GraphsDFG has since been archived in favor of LightDFG.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions