benchmark was more or less the same. but i improved generator perf (a bit) with this commit https://github.com/apache/incubator-johnzon/commit/5724036ca648cf1d57626f8c7f054f18a62d86b1
maybe you can have a look (sorry, contains also formatting changes) On Wed, Oct 14, 2015 at 3:00 PM, Romain Manni-Bucau <[email protected]> wrote: > merged and pushed, thanks! > > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber > <http://www.tomitribe.com> > > 2015-10-13 8:34 GMT+02:00 Romain Manni-Bucau <[email protected]>: > >> Hi Hendrik, >> >> Did you bench it? If faster or equal as before you can merge it. My worry >> was about the stack which was slowing down the processing in the 1st impl I >> did. If not an issue in your impl - or if the jvm fixed this drawback - I >> see no reason to not merge it :). >> >> Thks a lot to have taken this issue! >> Le 13 oct. 2015 07:47, "Hendrik Dev" <[email protected]> a écrit : >> >>> fixed on separate branch >>> >>> https://github.com/apache/incubator-johnzon/commit/f1392c2f02b0aeba2b41aed19e3b8625005ea9a1 >>> i took the chance and rewrote the generator, it was too complex imho >>> can someone review and merge this into master if ok? >>> >>> On Mon, Oct 12, 2015 at 10:49 AM, Hendrik Dev <[email protected]> >>> wrote: >>> > ok, with that i can reproduce, will have a look today .... >>> > >>> > @Test >>> > public void prettySimpleStructure() { >>> > >>> > final JsonWriterFactory writerFactory = >>> > Json.createWriterFactory(new HashMap<String, Object>() { >>> > { >>> > put(JsonGenerator.PRETTY_PRINTING, true); >>> > } >>> > }); >>> > >>> > StringWriter buffer = new StringWriter(); >>> > >>> > try (final JsonWriter writer = >>> writerFactory.createWriter(buffer)) { >>> > >>> > >>> > writer.write(Json.createObjectBuilder().add("firstName", >>> > "John").build()); >>> > >>> > } >>> > assertEquals("{\n" + " \"firstName\":\"John\"\n" + "}", >>> > buffer.toString()); >>> > } >>> > >>> > On Mon, Oct 12, 2015 at 10:20 AM, Romain Manni-Bucau >>> > <[email protected]> wrote: >>> >> I used: >>> >> >>> >> try (final JsonReader reader = readerFactory.createReader(new >>> >> ByteArrayInputStream(someString.getBytes()))) { >>> >> try (final JsonWriter writer = writerFactory.createWriter(buffer)) >>> >> { // buffer is a StringWriter >>> >> writer.write(reader.read()); >>> >> } >>> >> } >>> >> >>> >> >>> >> >>> >> Romain Manni-Bucau >>> >> @rmannibucau <https://twitter.com/rmannibucau> | Blog >>> >> <http://rmannibucau.wordpress.com> | Github < >>> https://github.com/rmannibucau> | >>> >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber >>> >> <http://www.tomitribe.com> >>> >> >>> >> 2015-10-12 10:18 GMT+02:00 Hendrik Dev <[email protected]>: >>> >> >>> >>> i can look into this but cannot reproduce >>> >>> >>> >>> @Test >>> >>> public void prettySimple() { >>> >>> final ByteArrayOutputStream baos = new >>> ByteArrayOutputStream(); >>> >>> final JsonGenerator generator = >>> >>> Json.createGeneratorFactory(new HashMap<String, Object>() {{ >>> >>> put(JsonGenerator.PRETTY_PRINTING, true); >>> >>> }}).createGenerator(baos); >>> >>> >>> >>> generator.writeStartObject().write("firstName", >>> >>> "John").writeEnd().close(); >>> >>> assertEquals("{\n" + >>> >>> >>> >>> " \"firstName\":\"John\"\n" + >>> >>> >>> >>> "}", new String(baos.toByteArray())); >>> >>> >>> >>> } >>> >>> >>> >>> Can you provide a failing test? >>> >>> >>> >>> On Sun, Oct 11, 2015 at 9:33 PM, Romain Manni-Bucau >>> >>> <[email protected]> wrote: >>> >>> > Hi guys, >>> >>> > >>> >>> > prettifying a json with johnzon leads to empty lines, what do you >>> think >>> >>> > about it? I'm tempted t get rid of them. >>> >>> > >>> >>> > Here is a sample: >>> >>> > >>> >>> > ---- >>> >>> > {"foo":"bar"} >>> >>> > ---- >>> >>> > >>> >>> > -> with johnzon >>> >>> > >>> >>> > ----- >>> >>> > >>> >>> > { >>> >>> > >>> >>> > "foo":"bar" >>> >>> > } >>> >>> > ---- >>> >>> > >>> >>> > >>> >>> > -> expected >>> >>> > >>> >>> > ----- >>> >>> > { >>> >>> > "foo":"bar" >>> >>> > } >>> >>> > ---- >>> >>> > >>> >>> > If anyone wants to work on it happy to let you hack or I will >>> tackle it >>> >>> > next week probably. >>> >>> > >>> >>> > Romain Manni-Bucau >>> >>> > @rmannibucau <https://twitter.com/rmannibucau> | Blog >>> >>> > <http://rmannibucau.wordpress.com> | Github < >>> >>> https://github.com/rmannibucau> | >>> >>> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber >>> >>> > <http://www.tomitribe.com> >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> Hendrik Saly (salyh, hendrikdev22) >>> >>> @hendrikdev22 >>> >>> PGP: 0x22D7F6EC >>> >>> >>> > >>> > >>> > >>> > -- >>> > Hendrik Saly (salyh, hendrikdev22) >>> > @hendrikdev22 >>> > PGP: 0x22D7F6EC >>> >>> >>> >>> -- >>> Hendrik Saly (salyh, hendrikdev22) >>> @hendrikdev22 >>> PGP: 0x22D7F6EC >>> >> -- Hendrik Saly (salyh, hendrikdev22) @hendrikdev22 PGP: 0x22D7F6EC
