Skip to content

Introduce a filter and map imperative method to replace .stream() calls #3931

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

Merged
merged 2 commits into from
May 15, 2025

Conversation

bbakerman
Copy link
Member

For performance reasons this replaces .stream() calls that build ImmutableLists

@bbakerman bbakerman added the performance work that is primarily targeted as performance improvements label Apr 24, 2025
Copy link
Contributor

github-actions bot commented Apr 24, 2025

Test Results

  314 files  ±0    314 suites  ±0   53s ⏱️ -1s
3 611 tests +1  3 606 ✅ +1  5 💤 ±0  0 ❌ ±0 
3 700 runs  +1  3 695 ✅ +1  5 💤 ±0  0 ❌ ±0 

Results for commit 9066581. ± Comparison against base commit 397c050.

This pull request removes 150 and adds 129 tests. Note that renamed tests count towards both.
	?
                __schema { types { fields { args { type { name fields { name }}}}}}
                __schema { types { fields { type { name fields { name }}}}}
                __schema { types { inputFields { type { inputFields { name }}}}}
                __schema { types { interfaces { fields { type { interfaces { name } } } } } }
                __schema { types { name} }
                __type(name : "t") { name }
                a1: __schema { types { name} }
                a1: __type(name : "t") { name }
                a2 :  __type(name : "t1") { name }
…
graphql.ScalarsBooleanTest ‑ parseValue throws exception for invalid input <java.lang.Object@347684c5>
graphql.ScalarsBooleanTest ‑ serialize throws exception for invalid input <java.lang.Object@2d6dcb44>
graphql.ScalarsIDTest ‑ parseValue allows any object via String.valueOf <java.lang.Object@1dfd9edb>
graphql.ScalarsIDTest ‑ serialize allows any object via String.valueOf <java.lang.Object@6a86e083>
graphql.ScalarsIntTest ‑ parseValue throws exception for invalid input <java.lang.Object@570a6057>
graphql.ScalarsIntTest ‑ serialize throws exception for invalid input <java.lang.Object@4b6b1cdc>
graphql.collect.ImmutableKitTest ‑ flatMapList works
graphql.execution.instrumentation.TracingInstrumentationTest ‑ do not trace introspection information [testExecutionStrategy: <graphql.execution.AsyncExecutionStrategy@db4653b fieldCollector=graphql.execution.FieldCollector@65dd9bd3 executionStepInfoFactory=graphql.execution.ExecutionStepInfoFactory@133bbbee dataFetcherExceptionHandler=graphql.execution.SimpleDataFetcherExceptionHandler@661d2661 resolvedType=graphql.execution.ResolveType@48ae1a24>, #0]
graphql.execution.instrumentation.TracingInstrumentationTest ‑ do not trace introspection information [testExecutionStrategy: <graphql.execution.AsyncSerialExecutionStrategy@f8e24e0 fieldCollector=graphql.execution.FieldCollector@af255e executionStepInfoFactory=graphql.execution.ExecutionStepInfoFactory@38686055 dataFetcherExceptionHandler=graphql.execution.SimpleDataFetcherExceptionHandler@593247b2 resolvedType=graphql.execution.ResolveType@27e5d150>, #1]
graphql.execution.instrumentation.TracingInstrumentationTest ‑ tracing captures timings as expected [testExecutionStrategy: <graphql.execution.AsyncExecutionStrategy@29614219 fieldCollector=graphql.execution.FieldCollector@6ade78a8 executionStepInfoFactory=graphql.execution.ExecutionStepInfoFactory@3a63607f dataFetcherExceptionHandler=graphql.execution.SimpleDataFetcherExceptionHandler@777d3d92 resolvedType=graphql.execution.ResolveType@542fd8ee>, #0]
…

♻️ This comment has been updated with latest results.

@bbakerman bbakerman requested review from andimarek and dondonz April 27, 2025 06:25
@dondonz dondonz modified the milestones: 25.x breaking changes, 24.0 May 13, 2025
Copy link
Member

@dondonz dondonz left a comment

Choose a reason for hiding this comment

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

As a separate note, given how many perf changes are in this release, we should look at the cumulative perf improvements later

…nd-map

# Conflicts:
#	src/main/java/graphql/util/FpKit.java
@dondonz dondonz merged commit b376b80 into master May 15, 2025
2 checks passed
@dondonz dondonz deleted the imperative-filter-and-map branch May 15, 2025 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance work that is primarily targeted as performance improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants