Skip to content

Improve: optimize graphql runtime #3372

Description

@n9te9

What happened?

The transport.Post implementation in the Do method has potential for optimization. Specifically, two areas could improve performance:

  1. The Do method frequently converts []byte to string, which incurs additional allocations.
  2. graphql.RawParams could benefit from a sync.Pool to reduce allocations and reuse memory.

What did you expect?

Optimizing memory allocation in the Do method should lead to better overall performance for the gqlgen server, especially for high-throughput applications.

Minimal graphql.schema and models to reproduce

I tested using the gqlgen initial schema and an empty slice return for the Todos query, observing allocation patterns during benchmarking.

Versions

  • gqlgen version: v0.17.55 (via go run github.com/99designs/gqlgen version)
  • Go version: go1.23.2 darwin/amd64

Pull Request

#3373

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions