[ 
https://issues.apache.org/jira/browse/SLING-10502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17366488#comment-17366488
 ] 

Bertrand Delacretaz edited comment on SLING-10502 at 6/21/21, 10:01 AM:
------------------------------------------------------------------------

[~radu] mentioned the Sling API's 
[LazyBindings|https://github.com/apache/sling-org-apache-sling-api/blob/master/src/main/java/org/apache/sling/api/scripting/LazyBindings.java]
 as a helper that uses {{Supplier}} for lazy evaluation in {{Maps}}.

I'm also looking at patterns using {{Optional}} for lazy loading, will report 
here on my experiments.


was (Author: bdelacretaz):
[~radu] mentioned the Sling API's 
[LazyBindings|https://github.com/apache/sling-org-apache-sling-api/blob/master/src/main/java/org/apache/sling/api/scripting/LazyBindings.java]
 as a helper that uses {{Supplier}} for lazy evaluation.

I'm also looking at patterns using {{Optional}} for lazy loading, will report 
here on my experiments.

> Helpers for lazy loading of GraphQL query results
> -------------------------------------------------
>
>                 Key: SLING-10502
>                 URL: https://issues.apache.org/jira/browse/SLING-10502
>             Project: Sling
>          Issue Type: Improvement
>          Components: GraphQL
>    Affects Versions: GraphQL Core 0.0.10
>            Reporter: Bertrand Delacretaz
>            Priority: Minor
>
> Lazy loading of "expensive" field values can help the performance of GraphQL 
> queries, by omitting calls to methods that retrieve or compute data if the 
> corresponding fields are not used in the result set.
> A natural way of doing that is to return a {{Supplier<SomeType>}} instead of 
> {{SomeType}} directly. I'm not sure if the GraphQL Core supports that 
> correctly out of the box, it would be good to try that and maybe implement 
> the corresponding improvements.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to