Skip to content

Performance of BIND #9

Description

@keski

Running the CQELS engine with a query that requires a BIND drastically reduces performance. For example, the query:

CONSTRUCT { [] ?p ?o . }
WHERE {
   STREAM <http://example.org/stream> [RANGE 1s] {
      ?s ?p ?o .
   }
}

is many times faster than:

CONSTRUCT { ?bnode ?p ?o . }
WHERE {
   STREAM <http://example.org/stream> [RANGE 1s] {
      ?s ?p ?o .
   }
   BIND(BNODE() AS ?bnode)
}

In my particualr use-case the latter form introduced an extra 250-350 ms delay per result. Is there an explanation for why BIND is so slow?

Also, the first query seems to reuse the same blank node for all evaluations: is this the expected behavior?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions