active_model_serializers/benchmarks/serialization_libraries/benchmark.rb
Benjamin Fleischer f8f7935535 Assert no regressions in gem-specific JSON document
NOTE: the two gems are generating different JSON

Essential difference

- Including a user's posts's comments differ in that
the included resource's relationship
is `meta: {included: false}` instead of `data: { id: 20, type: :posts}`

```diff
id: 39,
type: comments
attributes: { author: me, comment: wazzup }
relationships: {
  post: {
- data: { id: 20, type: posts }
+ meta: { included: false }
  }
 }
}
```

Unimportant differences:

- data: { type, id } vs. data: { id, type }

Complete diff

```bash
diff --side-by-side support/json_document-ams.json support/json_document-jsonapi_rb.json
```

```diff
{                                                               {
  "data": {                                                       "data": {
    "id": "1",                                                      "id": "1",
    "type": "users",                                                "type": "users",
    "attributes": {                                                 "attributes": {
      "first_name": "Diana",                                          "first_name": "Diana",
      "last_name": "Prince",                                          "last_name": "Prince",
      "birthday": "2017-07-01 05:00:00 UTC",                          "birthday": "2017-07-01 05:00:00 UTC",
      "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
      "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
    },                                                              },
    "relationships": {                                              "relationships": {
      "posts": {                                                      "posts": {
        "data": [                                                       "data": [
          {                                                               {
            "id": "1",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "1"
          },                                                              },
          {                                                               {
            "id": "2",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "2"
          },                                                              },
          {                                                               {
            "id": "3",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "3"
          },                                                              },
          {                                                               {
            "id": "4",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "4"
          },                                                              },
          {                                                               {
            "id": "5",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "5"
          },                                                              },
          {                                                               {
            "id": "6",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "6"
          },                                                              },
          {                                                               {
            "id": "7",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "7"
          },                                                              },
          {                                                               {
            "id": "8",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "8"
          },                                                              },
          {                                                               {
            "id": "9",                                        |             "type": "posts",
            "type": "posts"                                   |             "id": "9"
          },                                                              },
          {                                                               {
            "id": "10",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "10"
          },                                                              },
          {                                                               {
            "id": "11",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "11"
          },                                                              },
          {                                                               {
            "id": "12",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "12"
          },                                                              },
          {                                                               {
            "id": "13",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "13"
          },                                                              },
          {                                                               {
            "id": "14",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "14"
          },                                                              },
          {                                                               {
            "id": "15",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "15"
          },                                                              },
          {                                                               {
            "id": "16",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "16"
          },                                                              },
          {                                                               {
            "id": "17",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "17"
          },                                                              },
          {                                                               {
            "id": "18",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "18"
          },                                                              },
          {                                                               {
            "id": "19",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "19"
          },                                                              },
          {                                                               {
            "id": "20",                                       |             "type": "posts",
            "type": "posts"                                   |             "id": "20"
          }                                                               }
        ]                                                               ]
      }                                                               }
    }                                                               }
  },                                                              },
  "included": [                                                   "included": [
    {                                                               {
      "id": "1",                                                      "id": "1",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "1",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "1"
            },                                                              },
            {                                                               {
              "id": "2",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "2"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "1",                                              |       "id": "2",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "3"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "4"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "2",                                              |       "id": "3",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "5"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "6"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "2",                                              |       "id": "4",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "3",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "7"
            },                                                              },
            {                                                               {
              "id": "4",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "8"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "3",                                              |       "id": "5",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "2",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "9"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "10"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "4",                                              |       "id": "6",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "2",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "11"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "12"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "3",                                              |       "id": "7",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "5",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "13"
            },                                                              },
            {                                                               {
              "id": "6",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "14"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "5",                                              |       "id": "8",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "3",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "15"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "16"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "6",                                              |       "id": "9",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "3",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "17"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "18"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "4",                                              |       "id": "10",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "7",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "19"
            },                                                              },
            {                                                               {
              "id": "8",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "20"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "7",                                              |       "id": "11",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "4",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "21"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "22"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "8",                                              |       "id": "12",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "4",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "23"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "24"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "5",                                              |       "id": "13",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "9",                                      |               "type": "comments",
              "type": "comments"                              |               "id": "25"
            },                                                              },
            {                                                               {
              "id": "10",                                     |               "type": "comments",
              "type": "comments"                              |               "id": "26"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "9",                                              |       "id": "14",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "5",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "27"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "28"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "10",                                             |       "id": "15",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "5",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "29"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "30"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "6",                                              |       "id": "16",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "11",                                     |               "type": "comments",
              "type": "comments"                              |               "id": "31"
            },                                                              },
            {                                                               {
              "id": "12",                                     |               "type": "comments",
              "type": "comments"                              |               "id": "32"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "11",                                             |       "id": "17",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "6",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "33"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "34"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "12",                                             |       "id": "18",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "6",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "35"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "36"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "7",                                              |       "id": "19",
      "type": "posts",                                                "type": "posts",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                           "title": "Some Post",
        "body": "awesome content",                                      "body": "awesome content",
        "created_at": "2017-07-01 05:00:00 UTC",                        "created_at": "2017-07-01 05:00:00 UTC",
        "updated_at": "2017-07-01 05:00:00 UTC"                         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                                       "user": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                              },
        "comments": {                                                   "comments": {
          "data": [                                                       "data": [
            {                                                               {
              "id": "13",                                     |               "type": "comments",
              "type": "comments"                              |               "id": "37"
            },                                                              },
            {                                                               {
              "id": "14",                                     |               "type": "comments",
              "type": "comments"                              |               "id": "38"
            }                                                               }
          ]                                                               ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "13",                                             |       "id": "20",
      "type": "comments",                                     |       "type": "posts",
      "attributes": {                                                 "attributes": {
        "author": "me",                                       |         "title": "Some Post",
        "comment": "nice blog"                                |         "body": "awesome content",
                                                              >         "created_at": "2017-07-01 05:00:00 UTC",
                                                              >         "updated_at": "2017-07-01 05:00:00 UTC"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                             |         "user": {
          "data": {                                           |           "meta": {
            "id": "7",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
                                                              >         },
                                                              >         "comments": {
                                                              >           "data": [
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "39"
                                                              >             },
                                                              >             {
                                                              >               "type": "comments",
                                                              >               "id": "40"
                                                              >             }
                                                              >           ]
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "14",                                             |       "id": "1",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "7",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "8",                                              |       "id": "2",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "15",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "16",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "15",                                             |       "id": "3",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "8",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "16",                                             |       "id": "4",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "8",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "9",                                              |       "id": "5",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "17",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "18",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "17",                                             |       "id": "6",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "9",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "18",                                             |       "id": "7",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "9",                                        |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "10",                                             |       "id": "8",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "19",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "20",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "19",                                             |       "id": "9",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "10",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "20",                                             |       "id": "10",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "10",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "11",                                                     "id": "11",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "21",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "22",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "21",                                             |       "id": "12",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "11",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "22",                                             |       "id": "13",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "11",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "12",                                             |       "id": "14",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "23",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "24",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "23",                                             |       "id": "15",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "12",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "24",                                             |       "id": "16",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "12",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "13",                                             |       "id": "17",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "25",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "26",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "25",                                             |       "id": "18",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "13",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "26",                                             |       "id": "19",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "13",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "14",                                             |       "id": "20",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "27",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "28",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "27",                                             |       "id": "21",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "14",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "28",                                             |       "id": "22",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "14",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "15",                                             |       "id": "23",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "29",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "30",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "29",                                             |       "id": "24",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "15",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "30",                                             |       "id": "25",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "15",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "16",                                             |       "id": "26",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "31",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "32",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "31",                                             |       "id": "27",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "16",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "32",                                             |       "id": "28",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "16",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "17",                                             |       "id": "29",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "33",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "34",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "33",                                             |       "id": "30",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "17",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "34",                                             |       "id": "31",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "17",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "18",                                             |       "id": "32",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "35",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "36",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "35",                                             |       "id": "33",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "18",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "36",                                             |       "id": "34",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "18",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "19",                                             |       "id": "35",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "37",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "38",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "37",                                             |       "id": "36",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "19",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "38",                                             |       "id": "37",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "19",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "20",                                             |       "id": "38",
      "type": "posts",                                        |       "type": "comments",
      "attributes": {                                                 "attributes": {
        "title": "Some Post",                                 |         "author": "me",
        "body": "awesome content",                            |         "comment": "nice blog"
        "created_at": "2017-07-01 05:00:00 UTC",              <
        "updated_at": "2017-07-01 05:00:00 UTC"               <
      },                                                              },
      "relationships": {                                              "relationships": {
        "user": {                                             |         "post": {
          "data": {                                           |           "meta": {
            "id": "1",                                        |             "included": false
            "type": "users"                                   <
          }                                                               }
        },                                                    <
        "comments": {                                         <
          "data": [                                           <
            {                                                 <
              "id": "39",                                     <
              "type": "comments"                              <
            },                                                <
            {                                                 <
              "id": "40",                                     <
              "type": "comments"                              <
            }                                                 <
          ]                                                   <
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "39",                                                     "id": "39",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "20",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    },                                                              },
    {                                                               {
      "id": "40",                                                     "id": "40",
      "type": "comments",                                             "type": "comments",
      "attributes": {                                                 "attributes": {
        "author": "me",                                                 "author": "me",
        "comment": "nice blog"                                          "comment": "nice blog"
      },                                                              },
      "relationships": {                                              "relationships": {
        "post": {                                                       "post": {
          "data": {                                           |           "meta": {
            "id": "20",                                       |             "included": false
            "type": "posts"                                   <
          }                                                               }
        }                                                               }
      }                                                               }
    }                                                               }
  ]                                                               ]
}                                                               }
```
2017-10-13 22:06:42 -05:00

41 lines
1.2 KiB
Ruby

require 'rails/all'
Bundler.require(*Rails.groups)
ActiveRecord::Base.logger = nil
ActiveModelSerializers.logger = nil
ActiveModelSerializers.config.adapter = :json_api
ActiveModelSerializers.config.key_transform = :unaltered
require './support/rails'
require './support/bench_helper'
# AMS
require './support/serializers/user_serializer.rb'
require './support/serializers/post_serializer'
require './support/serializers/comment_serializer'
# jsonapi-rb
require 'jsonapi/serializable'
require './support/serializers/serializable_comment'
require './support/serializers/serializable_post'
require './support/serializers/serializable_user'
GC.disable
%i[ips memory].each do |bench|
BenchHelper.clear_data
BenchHelper.seed_data
BenchHelper.validate_render(:ams)
BenchHelper.validate_render(:jsonapi_rb)
Benchmark.send(bench) do |x|
x.config(time: 10, warmup: 5, stats: :bootstrap, confidence: 95) if x.respond_to?(:config)
x.report('ams ') { BenchHelper.test_render(:ams) }
x.report('jsonapi-rb ') { BenchHelper.test_render(:jsonapi_rb) }
x.report('ams eager') { BenchHelper.test_manual_eagerload(:ams) }
x.report('jsonapi-rb eager') { BenchHelper.test_manual_eagerload(:jsonapi_rb) }
x.compare!
end
end