| /* |
| * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Martin Vojtek - 2.6.0 - initial implementation |
| package org.eclipse.persistence.testing.perf.json.writer; |
| |
| import java.io.StringWriter; |
| |
| import jakarta.json.Json; |
| import jakarta.json.JsonObject; |
| import jakarta.json.JsonWriter; |
| |
| import org.openjdk.jmh.annotations.Benchmark; |
| import org.openjdk.jmh.infra.Blackhole; |
| |
| /** |
| * Tests JsonWriter. |
| */ |
| public class JsonWriterBenchmark { |
| |
| @Benchmark |
| public void testJsonWriter(Blackhole bh) { |
| JsonObject model = Json.createObjectBuilder() |
| .add("firstName", "Duke") |
| .add("lastName", "Java") |
| .add("age", 18) |
| .add("streetAddress", "100 Internet Dr") |
| .add("city", "JavaTown") |
| .add("state", "JA") |
| .add("postalCode", "12345") |
| .add("phoneNumbers", Json.createArrayBuilder() |
| .add(Json.createObjectBuilder() |
| .add("type", "mobile") |
| .add("number", "111-111-1111")) |
| .add(Json.createObjectBuilder() |
| .add("type", "home") |
| .add("number", "222-222-2222"))) |
| .build(); |
| |
| StringWriter stWriter = new StringWriter(); |
| JsonWriter jsonWriter = Json.createWriter(stWriter); |
| jsonWriter.writeObject(model); |
| jsonWriter.close(); |
| |
| bh.consume(stWriter.toString()); |
| } |
| } |