PHPackages                             maxime-rainville/silverstripe-graphql-benchmark - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. maxime-rainville/silverstripe-graphql-benchmark

ActiveSilverstripe-vendormodule[API Development](/categories/api)

maxime-rainville/silverstripe-graphql-benchmark
===============================================

Create fake Graphql schema to benchmark sizes

060PHPCI failing

Since Mar 18Pushed 4y ago1 watchersCompare

[ Source](https://github.com/maxime-rainville/silverstripe-graphql-benchmark)[ Packagist](https://packagist.org/packages/maxime-rainville/silverstripe-graphql-benchmark)[ RSS](/packages/maxime-rainville-silverstripe-graphql-benchmark/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (8)Used By (0)

Silverstripe CMS GraphQL v4 schema
==================================

[](#silverstripe-cms-graphql-v4-schema)

The purpose of this module is create big ass GraphQL schemas to benchmark GraphQL v4 performance.

Installation
------------

[](#installation)

```
composer require maxime-rainville/silverstripe-graphql-benchmark
```

Usage
-----

[](#usage)

The schemas and related DataObject are created by running this command.

```
# The fake schemas are created against this repo. Make sure you remove any pre-existing schema first
rm vendor/maxime-rainville/silverstripe-graphql-benchmark/src/Models/*.php
rm vendor/maxime-rainville/silverstripe-graphql-benchmark/_config/graphql.yml
rm vendor/maxime-rainville/silverstripe-graphql-benchmark/_graphql/* -R

sake dev/tasks/MaximeRainville-SilverStripeGraphQLBenchmark-Tasks-SchemaCreatorTask "" flush=all
```

Look at the config option on [`SchemaCreatorTask`](src/Tasks/SchemaCreatorTask.php) for the various options.

If you want to be able to deploy this somewhere, you'll have to run the task and commit your changes to a fork.

What about data
---------------

[](#what-about-data)

The dummy data object will try to generate some random data and random relationships on dev/build.

By default, we'll generate 5 instances of each DataObject class and randomly link them up in relationships.

What schema will be generated out of the box?
---------------------------------------------

[](#what-schema-will-be-generated-out-of-the-box)

By default, the module doesn't have any schemas or DataObjects. You have to run the task to get something.

By default, the task will generate the following schemas:

- tiny: 5 DataObjects
- small: 10 DataObjects
- medium: 40 DataObjects
- big: 100 DataObjects
- verybig: 250 DataObjects
- gigantic: 500 DataObjects

The generated DataObject will have a mixed of unversioned DataObjects, versioned DataObject and versioned-unstaged DataObjects. The ratio is 45-45-10.

What other branches can I install?
----------------------------------

[](#what-other-branches-can-i-install)

- `generic` provides a generic set up that should be suitable for most cases.
- `small-only` only ships a tiny and small schema. Use this branch if you don't want to be stuck building the full 500 DataObject gigantic schema
- `versioned-all` will add the Versioned extension to all the DataObjects
- `versioned-none` will not apply the Versioned extension to any DataObjects

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1168676?v=4)[Maxime Rainville](/maintainers/maxime-rainville)[@maxime-rainville](https://github.com/maxime-rainville)

### Embed Badge

![Health badge](/badges/maxime-rainville-silverstripe-graphql-benchmark/health.svg)

```
[![Health](https://phpackages.com/badges/maxime-rainville-silverstripe-graphql-benchmark/health.svg)](https://phpackages.com/packages/maxime-rainville-silverstripe-graphql-benchmark)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
