Skip to content

Improve: optimize graphql runtime #3372

@n9te9

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

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