Performance of GSON and Jackson Code Changes

Performance of GSON and Jackson Code Changes
This commit is contained in:
ankur-singhal
2016-02-17 23:43:27 +05:30
parent ac38b9528a
commit eabccf2b8f
29 changed files with 5286 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/2.5/gson-2.5.jar"/>
<classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.7.1-1/jackson-databind-2.7.1-1.jar"/>
<classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.7.0/jackson-annotations-2.7.0.jar"/>
<classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.7.1/jackson-core-2.7.1.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.17/log4j-1.2.17.jar"/>
</classpath>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>gson-jackson-performance</name>
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
<projects/>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
+5
View File
@@ -0,0 +1,5 @@
## Performance of GSON and Jackson
## STandalone java programs to measure the performance of both JSON API's
## based on file size , iterations.
+35
View File
@@ -0,0 +1,35 @@
Java HotSpot(TM) 64-Bit Server VM (25.45-b02) for windows-amd64 JRE (1.8.0_45-b15), built on Apr 30 2015 12:40:44 by "java_re" with MS VC++ 10.0 (VS2010)
Memory: 4k page, physical 8291728k(5579796k free), swap 16581620k(12609940k free)
CommandLine flags: -XX:InitialHeapSize=132667648 -XX:MaxHeapSize=2122682368 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
0.363: [GC (Allocation Failure) [PSYoungGen: 33280K->5096K(38400K)] 33280K->10228K(125952K), 0.0092249 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
0.414: [GC (Allocation Failure) [PSYoungGen: 38376K->5106K(71680K)] 43508K->24102K(159232K), 0.0186113 secs] [Times: user=0.06 sys=0.00, real=0.02 secs]
0.516: [GC (Allocation Failure) [PSYoungGen: 71666K->5097K(71680K)] 90662K->52229K(159232K), 0.0445313 secs] [Times: user=0.16 sys=0.03, real=0.04 secs]
0.651: [GC (Allocation Failure) [PSYoungGen: 71657K->5109K(138240K)] 118789K->80322K(225792K), 0.0512456 secs] [Times: user=0.19 sys=0.02, real=0.06 secs]
0.702: [Full GC (Ergonomics) [PSYoungGen: 5109K->0K(138240K)] [ParOldGen: 75212K->77437K(170496K)] 80322K->77437K(308736K), [Metaspace: 7004K->7004K(1056768K)], 0.5375812 secs] [Times: user=1.48 sys=0.00, real=0.54 secs]
1.406: [GC (Allocation Failure) [PSYoungGen: 133120K->5088K(138240K)] 210557K->133918K(308736K), 0.1172537 secs] [Times: user=0.34 sys=0.03, real=0.13 secs]
1.523: [Full GC (Ergonomics) [PSYoungGen: 5088K->0K(138240K)] [ParOldGen: 128829K->133416K(284160K)] 133918K->133416K(422400K), [Metaspace: 7004K->7004K(1056768K)], 0.9853907 secs] [Times: user=2.78 sys=0.02, real=0.99 secs]
2.691: [GC (Allocation Failure) [PSYoungGen: 133120K->56497K(227840K)] 266536K->189913K(512000K), 0.1302934 secs] [Times: user=0.33 sys=0.03, real=0.13 secs]
3.015: [GC (Allocation Failure) [PSYoungGen: 222385K->71657K(237568K)] 355801K->259810K(521728K), 0.1589475 secs] [Times: user=0.50 sys=0.02, real=0.17 secs]
3.372: [GC (Allocation Failure) [PSYoungGen: 237545K->112638K(295424K)] 425698K->329655K(579584K), 0.1698426 secs] [Times: user=0.47 sys=0.00, real=0.17 secs]
3.761: [GC (Allocation Failure) [PSYoungGen: 295422K->145918K(328704K)] 512439K->406791K(612864K), 0.2285356 secs] [Times: user=0.67 sys=0.03, real=0.24 secs]
3.989: [Full GC (Ergonomics) [PSYoungGen: 145918K->121734K(328704K)] [ParOldGen: 260872K->283948K(478720K)] 406791K->405682K(807424K), [Metaspace: 7004K->7004K(1056768K)], 2.7389690 secs] [Times: user=7.89 sys=0.00, real=2.74 secs]
6.963: [GC (Allocation Failure) [PSYoungGen: 304518K->189438K(378368K)] 588466K->484050K(857088K), 0.2961369 secs] [Times: user=0.87 sys=0.06, real=0.30 secs]
7.486: [GC (Allocation Failure) [PSYoungGen: 378366K->220926K(413696K)] 672978K->563874K(892416K), 0.2904383 secs] [Times: user=0.86 sys=0.03, real=0.30 secs]
8.002: [GC (System.gc()) [PSYoungGen: 409787K->158432K(460800K)] 752736K->643074K(946176K), 0.3470548 secs] [Times: user=1.01 sys=0.05, real=0.35 secs]
8.349: [Full GC (System.gc()) [PSYoungGen: 158432K->155661K(460800K)] [ParOldGen: 484642K->484968K(485376K)] 643074K->640630K(946176K), [Metaspace: 7039K->7039K(1056768K)], 3.8112607 secs] [Times: user=10.73 sys=0.03, real=3.81 secs]
12.864: [Full GC (Ergonomics) [PSYoungGen: 385748K->319385K(460800K)] [ParOldGen: 484968K->485363K(773632K)] 870716K->804749K(1234432K), [Metaspace: 7719K->7719K(1056768K)], 2.7333253 secs] [Times: user=7.02 sys=0.02, real=2.73 secs]
15.598: [GC (Allocation Failure) [PSYoungGen: 319494K->163753K(460800K)] 805371K->805902K(1234432K), 0.2532505 secs] [Times: user=0.98 sys=0.08, real=0.25 secs]
15.851: [Full GC (Ergonomics) [PSYoungGen: 163753K->31983K(460800K)] [ParOldGen: 642148K->772967K(1150976K)] 805902K->804950K(1611776K), [Metaspace: 7720K->7720K(1056768K)], 3.1227324 secs] [Times: user=8.89 sys=0.05, real=3.12 secs]
19.257: [GC (Allocation Failure) [PSYoungGen: 262383K->169509K(460800K)] 1035350K->974460K(1611776K), 0.1370666 secs] [Times: user=0.36 sys=0.02, real=0.14 secs]
19.691: [GC (Allocation Failure) --[PSYoungGen: 273197K->273197K(460800K)] 1487836K->1656297K(1844224K), 0.1069653 secs] [Times: user=0.06 sys=0.05, real=0.10 secs]
19.798: [Full GC (Ergonomics) [PSYoungGen: 273197K->77314K(460800K)] [ParOldGen: 1383099K->1383092K(1383424K)] 1656297K->1460407K(1844224K), [Metaspace: 7720K->7720K(1056768K)], 2.2582744 secs] [Times: user=6.10 sys=0.02, real=2.26 secs]
22.056: [Full GC (Allocation Failure) [PSYoungGen: 77314K->77314K(460800K)] [ParOldGen: 1383092K->1383008K(1383424K)] 1460407K->1460322K(1844224K), [Metaspace: 7720K->7720K(1056768K)], 3.0326600 secs] [Times: user=7.74 sys=0.02, real=3.04 secs]
Heap
PSYoungGen total 460800K, used 85443K [0x00000000d5d00000, 0x0000000100000000, 0x0000000100000000)
eden space 230400K, 3% used [0x00000000d5d00000,0x00000000d64f02b8,0x00000000e3e00000)
from space 230400K, 33% used [0x00000000f1f00000,0x00000000f6a809a0,0x0000000100000000)
to space 230400K, 0% used [0x00000000e3e00000,0x00000000e3e00000,0x00000000f1f00000)
ParOldGen total 1383424K, used 1383008K [0x0000000081600000, 0x00000000d5d00000, 0x00000000d5d00000)
object space 1383424K, 99% used [0x0000000081600000,0x00000000d5c980e8,0x00000000d5d00000)
Metaspace used 7736K, capacity 7846K, committed 8064K, reserved 1056768K
class space used 849K, capacity 857K, committed 896K, reserved 1048576K
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,151 @@
2016-02-14 07:09:34 INFO ComplexDataGson:27 - -------Round 1
2016-02-14 07:13:19 INFO ComplexDataGson:27 - -------Round 1
2016-02-14 07:13:26 INFO ComplexDataGson:54 - Json Generation Time(ms):: 3300743982
2016-02-14 07:13:27 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:13:27 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:13:31 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 3791867873
2016-02-14 07:13:31 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:13:38 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2877543214
2016-02-14 07:13:38 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:13:42 INFO ComplexDataGson:27 - -------Round 2
2016-02-14 07:13:49 INFO ComplexDataGson:54 - Json Generation Time(ms):: 3081464563
2016-02-14 07:13:50 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:13:50 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:13:53 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 3414915004
2016-02-14 07:13:53 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:13:59 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2745001008
2016-02-14 07:13:59 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:14:02 INFO ComplexDataGson:27 - -------Round 3
2016-02-14 07:14:07 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2452611871
2016-02-14 07:14:08 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:14:08 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:14:13 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 5147569477
2016-02-14 07:14:13 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:14:49 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 5151814203
2016-02-14 07:14:49 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:14:53 INFO ComplexDataGson:27 - -------Round 4
2016-02-14 07:14:58 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2499724269
2016-02-14 07:14:59 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:14:59 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:15:23 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 23671387986
2016-02-14 07:15:23 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:16:30 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2889390000
2016-02-14 07:16:30 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:16:34 INFO ComplexDataGson:27 - -------Round 5
2016-02-14 07:16:39 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2421770990
2016-02-14 07:16:40 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:16:40 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:16:45 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 4739247161
2016-02-14 07:16:45 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:16:59 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2774260133
2016-02-14 07:16:59 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:17:02 INFO ComplexDataGson:27 - -------Round 6
2016-02-14 07:17:08 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2418834853
2016-02-14 07:17:08 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:17:08 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:17:13 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 4871088293
2016-02-14 07:17:13 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:17:21 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2690487083
2016-02-14 07:17:21 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:17:25 INFO ComplexDataGson:27 - -------Round 7
2016-02-14 07:17:30 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2447246454
2016-02-14 07:17:31 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:17:31 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:17:35 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 4567768185
2016-02-14 07:17:35 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:17:43 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2672816184
2016-02-14 07:17:43 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:17:46 INFO ComplexDataGson:27 - -------Round 8
2016-02-14 07:17:51 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2453208335
2016-02-14 07:17:52 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:17:52 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:17:57 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 5084245563
2016-02-14 07:17:57 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:18:05 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2931465412
2016-02-14 07:18:05 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:18:08 INFO ComplexDataGson:27 - -------Round 9
2016-02-14 07:18:14 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2447660150
2016-02-14 07:18:14 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:18:14 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:18:19 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 4877367551
2016-02-14 07:18:19 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:18:26 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2738904519
2016-02-14 07:18:26 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:18:29 INFO ComplexDataGson:27 - -------Round 10
2016-02-14 07:18:35 INFO ComplexDataGson:54 - Json Generation Time(ms):: 2463570868
2016-02-14 07:18:35 INFO ComplexDataGson:29 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:18:35 INFO ComplexDataGson:30 - --------------------------------------------------------------------------
2016-02-14 07:18:40 INFO ComplexDataGson:64 - Generating Map from json Time(ms):: 4857563433
2016-02-14 07:18:40 INFO ComplexDataGson:65 - --------------------------------------------------------------------------
2016-02-14 07:18:47 INFO ComplexDataGson:76 - Generating Actual Object from json Time(ms):: 2706159768
2016-02-14 07:18:47 INFO ComplexDataGson:77 - --------------------------------------------------------------------------
2016-02-14 07:18:50 INFO ComplexDataGson:40 - --------------------------------------------------------------------------
2016-02-14 07:18:52 INFO ComplexDataGson:41 - Average Time to Generate JSON : 2598683633
2016-02-14 07:18:52 INFO ComplexDataGson:42 - Average Time to Parse JSON To Map : 6502302052
2016-02-14 07:18:52 INFO ComplexDataGson:43 - Average Time to Parse JSON To Actual Object : 3017784152
2016-02-14 07:18:52 INFO ComplexDataGson:44 - --------------------------------------------------------------------------
2016-02-14 07:30:16 INFO ComplexDataJackson:31 - -------Round 1
2016-02-14 07:30:22 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1913798065
2016-02-14 07:30:23 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:30:23 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:30:26 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 3501212864
2016-02-14 07:30:33 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 2519328644
2016-02-14 07:30:37 INFO ComplexDataJackson:31 - -------Round 2
2016-02-14 07:30:41 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1122079407
2016-02-14 07:30:42 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:30:42 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:30:44 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 1650946350
2016-02-14 07:30:48 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 1493836600
2016-02-14 07:30:51 INFO ComplexDataJackson:31 - -------Round 3
2016-02-14 07:30:55 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1056702014
2016-02-14 07:30:56 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:30:56 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:30:58 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 1769576448
2016-02-14 07:31:02 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 1515188920
2016-02-14 07:31:05 INFO ComplexDataJackson:31 - -------Round 4
2016-02-14 07:31:10 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1385929835
2016-02-14 07:31:11 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:31:11 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:31:13 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 1979048349
2016-02-14 07:31:17 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 1616521550
2016-02-14 07:31:20 INFO ComplexDataJackson:31 - -------Round 5
2016-02-14 07:31:24 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1076380997
2016-02-14 07:31:25 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:31:25 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:31:27 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 1786553379
2016-02-14 07:31:31 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 1514234815
2016-02-14 07:31:34 INFO ComplexDataJackson:31 - -------Round 6
2016-02-14 07:31:39 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1068609985
2016-02-14 07:31:39 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:31:39 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:31:42 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 2419927122
2016-02-14 07:31:47 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 1525414870
2016-02-14 07:31:50 INFO ComplexDataJackson:31 - -------Round 7
2016-02-14 07:31:54 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1210651015
2016-02-14 07:31:55 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:31:55 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:31:57 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 2127036259
2016-02-14 07:32:03 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 2067842595
2016-02-14 07:32:06 INFO ComplexDataJackson:31 - -------Round 8
2016-02-14 07:32:10 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1044809437
2016-02-14 07:32:10 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:32:10 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:32:13 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 2159417841
2016-02-14 07:32:18 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 2045629724
2016-02-14 07:32:21 INFO ComplexDataJackson:31 - -------Round 9
2016-02-14 07:32:25 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1063275754
2016-02-14 07:32:25 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:32:25 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:32:28 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 2249796606
2016-02-14 07:32:33 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 2037722525
2016-02-14 07:32:36 INFO ComplexDataJackson:31 - -------Round 10
2016-02-14 07:32:40 INFO ComplexDataJackson:59 - Json Generation Time(ms):: 1046656069
2016-02-14 07:32:40 INFO ComplexDataJackson:33 - Size of Complex content Jackson :: 250 MB
2016-02-14 07:32:40 INFO ComplexDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 07:32:43 INFO ComplexDataJackson:69 - Generating Map from json Time(ms):: 2209315582
2016-02-14 07:32:48 INFO ComplexDataJackson:82 - Generating Actual Object from json Time(ms):: 2623449380
2016-02-14 07:32:52 INFO ComplexDataJackson:44 - --------------------------------------------------------------------------
2016-02-14 07:32:52 INFO ComplexDataJackson:45 - Average Time to Generate JSON : 1198889257
2016-02-14 07:32:52 INFO ComplexDataJackson:46 - Average Time to Parse JSON To Map : 2185283080
2016-02-14 07:32:52 INFO ComplexDataJackson:47 - Average Time to Parse JSON To Actual Object : 1895916962
2016-02-14 07:32:52 INFO ComplexDataJackson:48 - --------------------------------------------------------------------------
@@ -0,0 +1,160 @@
2016-02-13 22:32:02 INFO SimpleDataGson:25 - -------Round 1
2016-02-13 22:32:07 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1802698961
2016-02-13 22:32:08 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:08 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:10 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 2003962071
2016-02-13 22:32:10 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:12 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1005873828
2016-02-13 22:32:12 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:14 INFO SimpleDataGson:25 - -------Round 2
2016-02-13 22:32:16 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1222128229
2016-02-13 22:32:16 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:16 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:18 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1672580233
2016-02-13 22:32:18 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:20 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 914391709
2016-02-13 22:32:20 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:21 INFO SimpleDataGson:25 - -------Round 3
2016-02-13 22:32:23 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1232757569
2016-02-13 22:32:24 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:24 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:25 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1761755454
2016-02-13 22:32:25 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:28 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1042478282
2016-02-13 22:32:28 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:29 INFO SimpleDataGson:25 - -------Round 4
2016-02-13 22:32:31 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1350677839
2016-02-13 22:32:31 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:31 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:33 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1997474806
2016-02-13 22:32:33 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:35 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 999789995
2016-02-13 22:32:35 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:36 INFO SimpleDataGson:25 - -------Round 5
2016-02-13 22:32:39 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1269646240
2016-02-13 22:32:39 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:39 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:41 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 2061314403
2016-02-13 22:32:41 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:44 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1455524498
2016-02-13 22:32:44 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:45 INFO SimpleDataGson:25 - -------Round 6
2016-02-13 22:32:47 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1304567889
2016-02-13 22:32:47 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:47 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:49 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1370549381
2016-02-13 22:32:49 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:51 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1153593911
2016-02-13 22:32:51 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:52 INFO SimpleDataGson:25 - -------Round 7
2016-02-13 22:32:54 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1258311882
2016-02-13 22:32:55 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:32:55 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:32:56 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1423511342
2016-02-13 22:32:56 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:32:58 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1174751932
2016-02-13 22:32:58 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:32:59 INFO SimpleDataGson:25 - -------Round 8
2016-02-13 22:33:02 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1233054419
2016-02-13 22:33:02 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:33:02 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:33:03 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1644931000
2016-02-13 22:33:03 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:33:06 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1299340655
2016-02-13 22:33:06 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:33:07 INFO SimpleDataGson:25 - -------Round 9
2016-02-13 22:33:09 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1250320633
2016-02-13 22:33:09 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:33:09 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:33:11 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1876958683
2016-02-13 22:33:11 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:33:14 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1180127985
2016-02-13 22:33:14 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:33:15 INFO SimpleDataGson:25 - -------Round 10
2016-02-13 22:33:18 INFO SimpleDataGson:50 - Json Generation Time(ms):: 1314250627
2016-02-13 22:33:18 INFO SimpleDataGson:27 - Size of Simple content Gson :: 101 MB
2016-02-13 22:33:18 INFO SimpleDataGson:28 - --------------------------------------------------------------------------
2016-02-13 22:33:20 INFO SimpleDataGson:60 - Generating Map from json Time(ms):: 1483840853
2016-02-13 22:33:20 INFO SimpleDataGson:61 - --------------------------------------------------------------------------
2016-02-13 22:33:22 INFO SimpleDataGson:73 - Generating Actual Object from json Time(ms):: 1179707185
2016-02-13 22:33:22 INFO SimpleDataGson:74 - --------------------------------------------------------------------------
2016-02-13 22:33:23 INFO SimpleDataGson:36 - --------------------------------------------------------------------------
2016-02-13 22:33:23 INFO SimpleDataGson:37 - Average Time to Generate JSON : 1323841428
2016-02-13 22:33:23 INFO SimpleDataGson:38 - Average Time to Parse JSON To Map : 1729687822
2016-02-13 22:33:23 INFO SimpleDataGson:39 - Average Time to Parse JSON To Actual Object : 1140557998
2016-02-13 22:33:23 INFO SimpleDataGson:40 - --------------------------------------------------------------------------
2016-02-13 22:34:23 INFO SimpleDataJackson:28 - -------Round 1
2016-02-13 22:34:28 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 3749361201
2016-02-13 22:34:29 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:34:29 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:34:34 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 5117887111
2016-02-13 22:34:34 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:34:36 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 1086143172
2016-02-13 22:34:38 INFO SimpleDataJackson:28 - -------Round 2
2016-02-13 22:34:39 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 434662538
2016-02-13 22:34:39 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:34:39 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:34:41 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1334135590
2016-02-13 22:34:41 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:34:43 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 771198580
2016-02-13 22:34:44 INFO SimpleDataJackson:28 - -------Round 3
2016-02-13 22:34:45 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 448593143
2016-02-13 22:34:45 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:34:45 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:34:50 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 4189457425
2016-02-13 22:34:50 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:34:52 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 887058668
2016-02-13 22:34:53 INFO SimpleDataJackson:28 - -------Round 4
2016-02-13 22:34:54 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 465465795
2016-02-13 22:34:54 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:34:54 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:34:56 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1384778810
2016-02-13 22:34:56 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:34:58 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 772597563
2016-02-13 22:34:59 INFO SimpleDataJackson:28 - -------Round 5
2016-02-13 22:35:01 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 431909574
2016-02-13 22:35:01 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:35:01 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:35:02 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1414299931
2016-02-13 22:35:02 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:35:04 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 758118259
2016-02-13 22:35:05 INFO SimpleDataJackson:28 - -------Round 6
2016-02-13 22:35:07 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 420912330
2016-02-13 22:35:07 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:35:07 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:35:08 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1330342865
2016-02-13 22:35:08 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:35:11 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 1147846006
2016-02-13 22:35:12 INFO SimpleDataJackson:28 - -------Round 7
2016-02-13 22:35:14 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 637133177
2016-02-13 22:35:14 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:35:14 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:35:16 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1710650775
2016-02-13 22:35:16 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:35:18 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 1022232915
2016-02-13 22:35:20 INFO SimpleDataJackson:28 - -------Round 8
2016-02-13 22:35:21 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 469254572
2016-02-13 22:35:22 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:35:22 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:35:23 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1375411079
2016-02-13 22:35:23 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:35:25 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 774870908
2016-02-13 22:35:26 INFO SimpleDataJackson:28 - -------Round 9
2016-02-13 22:35:28 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 451041361
2016-02-13 22:35:28 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:35:28 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:35:29 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1419613220
2016-02-13 22:35:29 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:35:31 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 772284924
2016-02-13 22:35:32 INFO SimpleDataJackson:28 - -------Round 10
2016-02-13 22:35:34 INFO SimpleDataJackson:55 - Json Generation Time(ms):: 422704085
2016-02-13 22:35:34 INFO SimpleDataJackson:30 - Size of Simple content Jackson :: 101 MB
2016-02-13 22:35:34 INFO SimpleDataJackson:31 - --------------------------------------------------------------------------
2016-02-13 22:35:35 INFO SimpleDataJackson:65 - Generating Map from json Time(ms):: 1396597916
2016-02-13 22:35:35 INFO SimpleDataJackson:66 - --------------------------------------------------------------------------
2016-02-13 22:35:38 INFO SimpleDataJackson:78 - Generating Actual Object from json Time(ms):: 794414020
2016-02-13 22:35:39 INFO SimpleDataJackson:41 - --------------------------------------------------------------------------
2016-02-13 22:35:39 INFO SimpleDataJackson:42 - Average Time to Generate JSON : 793103777
2016-02-13 22:35:39 INFO SimpleDataJackson:43 - Average Time to Parse JSON To Map : 2067317472
2016-02-13 22:35:39 INFO SimpleDataJackson:44 - Average Time to Parse JSON To Actual Object : 878676501
2016-02-13 22:35:39 INFO SimpleDataJackson:45 - --------------------------------------------------------------------------
@@ -0,0 +1,160 @@
2016-02-13 23:46:10 INFO SimpleDataGson:28 - -------Round 1
2016-02-13 23:46:17 INFO SimpleDataGson:54 - Json Generation Time(ms):: 4115421919
2016-02-13 23:46:18 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:46:18 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:46:24 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 5979578577
2016-02-13 23:46:24 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:46:37 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 8799068872
2016-02-13 23:46:37 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:46:41 INFO SimpleDataGson:28 - -------Round 2
2016-02-13 23:46:46 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3215032264
2016-02-13 23:46:47 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:46:47 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:46:52 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 5430384274
2016-02-13 23:46:52 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:46:58 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3081980964
2016-02-13 23:46:58 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:47:02 INFO SimpleDataGson:28 - -------Round 3
2016-02-13 23:47:08 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3074217879
2016-02-13 23:47:08 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:47:08 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:47:14 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 6177310679
2016-02-13 23:47:14 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:47:21 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3172692933
2016-02-13 23:47:21 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:47:24 INFO SimpleDataGson:28 - -------Round 4
2016-02-13 23:47:31 INFO SimpleDataGson:54 - Json Generation Time(ms):: 4090244194
2016-02-13 23:47:32 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:47:32 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:47:39 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 7408656634
2016-02-13 23:47:39 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:47:45 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3023505579
2016-02-13 23:47:45 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:47:48 INFO SimpleDataGson:28 - -------Round 5
2016-02-13 23:47:54 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3196609048
2016-02-13 23:47:55 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:47:55 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:48:31 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 36806648005
2016-02-13 23:48:31 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:48:38 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3057928662
2016-02-13 23:48:38 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:48:41 INFO SimpleDataGson:28 - -------Round 6
2016-02-13 23:48:46 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3116500761
2016-02-13 23:48:47 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:48:47 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:48:53 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 5492820152
2016-02-13 23:48:53 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:48:59 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3008170464
2016-02-13 23:48:59 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:49:02 INFO SimpleDataGson:28 - -------Round 7
2016-02-13 23:49:08 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3101777899
2016-02-13 23:49:09 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:49:09 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:49:31 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 22060865577
2016-02-13 23:49:31 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:49:37 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3004783539
2016-02-13 23:49:37 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:49:40 INFO SimpleDataGson:28 - -------Round 8
2016-02-13 23:49:45 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3105519701
2016-02-13 23:49:46 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:49:46 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:50:08 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 22301662159
2016-02-13 23:50:08 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:50:14 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 2975667427
2016-02-13 23:50:14 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:50:17 INFO SimpleDataGson:28 - -------Round 9
2016-02-13 23:50:23 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3198289879
2016-02-13 23:50:23 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:50:23 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:50:44 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 20094735621
2016-02-13 23:50:44 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:50:50 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 2982894448
2016-02-13 23:50:50 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:50:53 INFO SimpleDataGson:28 - -------Round 10
2016-02-13 23:50:58 INFO SimpleDataGson:54 - Json Generation Time(ms):: 3078554959
2016-02-13 23:50:59 INFO SimpleDataGson:30 - Size of Simple content Gson :: 251 MB
2016-02-13 23:50:59 INFO SimpleDataGson:31 - --------------------------------------------------------------------------
2016-02-13 23:51:21 INFO SimpleDataGson:64 - Generating Map from json Time(ms):: 21830630833
2016-02-13 23:51:21 INFO SimpleDataGson:65 - --------------------------------------------------------------------------
2016-02-13 23:51:27 INFO SimpleDataGson:77 - Generating Actual Object from json Time(ms):: 3010499469
2016-02-13 23:51:27 INFO SimpleDataGson:78 - --------------------------------------------------------------------------
2016-02-13 23:51:30 INFO SimpleDataGson:40 - --------------------------------------------------------------------------
2016-02-13 23:51:30 INFO SimpleDataGson:41 - Average Time to Generate JSON : 3329216850
2016-02-13 23:51:30 INFO SimpleDataGson:42 - Average Time to Parse JSON To Map : 15358329251
2016-02-13 23:51:30 INFO SimpleDataGson:43 - Average Time to Parse JSON To Actual Object : 3611719235
2016-02-13 23:51:30 INFO SimpleDataGson:44 - --------------------------------------------------------------------------
2016-02-14 00:02:42 INFO SimpleDataJackson:31 - -------Round 1
2016-02-14 00:02:47 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1640080750
2016-02-14 00:02:48 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:02:48 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:02:50 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 2672981690
2016-02-14 00:02:50 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:02:55 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 1793866507
2016-02-14 00:02:59 INFO SimpleDataJackson:31 - -------Round 2
2016-02-14 00:03:02 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1085543552
2016-02-14 00:03:03 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:03:03 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:03:05 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 1884080700
2016-02-14 00:03:05 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:03:09 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 1622782955
2016-02-14 00:03:11 INFO SimpleDataJackson:31 - -------Round 3
2016-02-14 00:03:15 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1087769528
2016-02-14 00:03:15 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:03:15 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:03:17 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 1866192760
2016-02-14 00:03:17 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:03:22 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 2164019167
2016-02-14 00:03:25 INFO SimpleDataJackson:31 - -------Round 4
2016-02-14 00:03:29 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1518929874
2016-02-14 00:03:30 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:03:30 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:03:32 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 1863419271
2016-02-14 00:03:32 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:03:36 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 1623395996
2016-02-14 00:03:39 INFO SimpleDataJackson:31 - -------Round 5
2016-02-14 00:03:42 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1071791372
2016-02-14 00:03:43 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:03:43 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:03:45 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 1861038555
2016-02-14 00:03:45 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:03:49 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 1679350531
2016-02-14 00:03:51 INFO SimpleDataJackson:31 - -------Round 6
2016-02-14 00:03:55 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1046878522
2016-02-14 00:03:55 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:03:55 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:03:58 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 3142311264
2016-02-14 00:03:58 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:04:05 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 2276167059
2016-02-14 00:04:07 INFO SimpleDataJackson:31 - -------Round 7
2016-02-14 00:04:11 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1128271314
2016-02-14 00:04:12 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:04:12 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:04:14 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 2644174666
2016-02-14 00:04:14 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:04:19 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 2244204035
2016-02-14 00:04:22 INFO SimpleDataJackson:31 - -------Round 8
2016-02-14 00:04:25 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1049764909
2016-02-14 00:04:26 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:04:26 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:04:29 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 3621206732
2016-02-14 00:04:29 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:04:35 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 2355619671
2016-02-14 00:04:38 INFO SimpleDataJackson:31 - -------Round 9
2016-02-14 00:04:42 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1104708497
2016-02-14 00:04:42 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:04:42 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:04:47 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 5293797624
2016-02-14 00:04:47 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:04:53 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 2276509304
2016-02-14 00:04:57 INFO SimpleDataJackson:31 - -------Round 10
2016-02-14 00:05:01 INFO SimpleDataJackson:58 - Json Generation Time(ms):: 1187760804
2016-02-14 00:05:01 INFO SimpleDataJackson:33 - Size of Simple content Jackson :: 251 MB
2016-02-14 00:05:01 INFO SimpleDataJackson:34 - --------------------------------------------------------------------------
2016-02-14 00:05:05 INFO SimpleDataJackson:68 - Generating Map from json Time(ms):: 3760862932
2016-02-14 00:05:05 INFO SimpleDataJackson:69 - --------------------------------------------------------------------------
2016-02-14 00:05:11 INFO SimpleDataJackson:81 - Generating Actual Object from json Time(ms):: 2363176304
2016-02-14 00:05:13 INFO SimpleDataJackson:44 - --------------------------------------------------------------------------
2016-02-14 00:05:13 INFO SimpleDataJackson:45 - Average Time to Generate JSON : 1192149912
2016-02-14 00:05:13 INFO SimpleDataJackson:46 - Average Time to Parse JSON To Map : 2861006619
2016-02-14 00:05:13 INFO SimpleDataJackson:47 - Average Time to Parse JSON To Actual Object : 2039909152
2016-02-14 00:05:13 INFO SimpleDataJackson:48 - --------------------------------------------------------------------------
+72
View File
@@ -0,0 +1,72 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.baeldung</groupId>
<artifactId>gson-jackson-performance</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>gson-jackson-performance</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<finalName>gson-jackson-performance</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.1-1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,63 @@
package org.baeldung.data.complex;
import java.util.ArrayList;
import java.util.List;
import org.baeldung.data.utility.Utility;
import org.baeldung.pojo.complex.AddressDetails;
import org.baeldung.pojo.complex.ContactDetails;
import org.baeldung.pojo.complex.CustomerAddressDetails;
import org.baeldung.pojo.complex.CustomerPortfolioComplex;
/**
*
* This class is responsible for generating data for complex type object
*/
public class ComplexDataGeneration {
public static CustomerPortfolioComplex generateData() {
List<CustomerAddressDetails> customerAddressDetailsList = new ArrayList<CustomerAddressDetails>();
for (int i = 0; i < 600000; i++) {
CustomerAddressDetails customerAddressDetails = new CustomerAddressDetails();
customerAddressDetails.setAge(20);
customerAddressDetails.setFirstName(Utility.generateRandomName());
customerAddressDetails.setLastName(Utility.generateRandomName());
List<AddressDetails> addressDetailsList = new ArrayList<AddressDetails>();
customerAddressDetails.setAddressDetails(addressDetailsList);
for (int j = 0; j < 2; j++) {
AddressDetails addressDetails = new AddressDetails();
addressDetails.setZipcode(Utility.generateRandomZip());
addressDetails.setAddress(Utility.generateRandomAddress());
List<ContactDetails> contactDetailsList = new ArrayList<ContactDetails>();
addressDetails.setContactDetails(contactDetailsList);
for (int k = 0; k < 2; k++) {
ContactDetails contactDetails = new ContactDetails();
contactDetails.setLandline(Utility.generateRandomPhone());
contactDetails.setMobile(Utility.generateRandomPhone());
contactDetailsList.add(contactDetails);
contactDetails = null;
}
addressDetailsList.add(addressDetails);
addressDetails = null;
contactDetailsList = null;
}
customerAddressDetailsList.add(customerAddressDetails);
customerAddressDetails = null;
if (i % 6000 == 0) {
Runtime.getRuntime().gc();
}
}
CustomerPortfolioComplex customerPortfolioComplex = new CustomerPortfolioComplex();
customerPortfolioComplex.setCustomerAddressDetailsList(customerAddressDetailsList);
customerAddressDetailsList = null;
return customerPortfolioComplex;
}
}
@@ -0,0 +1,91 @@
package org.baeldung.data.complex;
import java.util.Map;
import org.apache.log4j.Logger;
import org.baeldung.data.utility.Utility;
import org.baeldung.pojo.complex.CustomerPortfolioComplex;
import com.google.gson.Gson;
/**
*
* This class is responsible for performing functions for Complex type
* GSON like
* Java to Json
* Json to Map
* Json to Java Object
*/
public class ComplexDataGson {
private static final Logger logger = Logger.getLogger(ComplexDataGson.class);
static Gson gson = new Gson();
static long generateJsonAvgTime = 0L;
static long parseJsonToMapAvgTime = 0L;
static long parseJsonToActualObjectAvgTime = 0L;
public static void main(String[] args) {
CustomerPortfolioComplex customerPortfolioComplex = ComplexDataGeneration.generateData();
int j = 50;
for (int i = 0; i < j; i++) {
logger.info("-------Round " + (i + 1));
String jsonStr = generateJson(customerPortfolioComplex);
logger.info("Size of Complex content Jackson :: " + Utility.bytesIntoMB(jsonStr.getBytes().length));
logger.info("--------------------------------------------------------------------------");
parseJsonToMap(jsonStr);
parseJsonToActualObject(jsonStr);
jsonStr = null;
}
generateJsonAvgTime = generateJsonAvgTime / j;
parseJsonToMapAvgTime = parseJsonToMapAvgTime / j;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime / j;
logger.info("--------------------------------------------------------------------------");
logger.info("Average Time to Generate JSON : " + generateJsonAvgTime);
logger.info("Average Time to Parse JSON To Map : " + parseJsonToMapAvgTime);
logger.info("Average Time to Parse JSON To Actual Object : " + parseJsonToActualObjectAvgTime);
logger.info("--------------------------------------------------------------------------");
}
private static String generateJson(CustomerPortfolioComplex customerPortfolioComplex) {
Runtime.getRuntime().gc();
long startParsTime = System.nanoTime();
String json = gson.toJson(customerPortfolioComplex);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
generateJsonAvgTime = generateJsonAvgTime + elapsedTime;
logger.info("Json Generation Time(ms):: " + elapsedTime);
return json;
}
private static void parseJsonToMap(String jsonStr) {
long startParsTime = System.nanoTime();
Map parsedMap = gson.fromJson(jsonStr , Map.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToMapAvgTime = parseJsonToMapAvgTime + elapsedTime;
logger.info("Generating Map from json Time(ms):: " + elapsedTime);
logger.info("--------------------------------------------------------------------------");
parsedMap = null;
Runtime.getRuntime().gc();
}
private static void parseJsonToActualObject(String jsonStr) {
long startParsTime = System.nanoTime();
CustomerPortfolioComplex customerPortfolioComplex = gson.fromJson(jsonStr , CustomerPortfolioComplex.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime + elapsedTime;
logger.info("Generating Actual Object from json Time(ms):: " + elapsedTime);
logger.info("--------------------------------------------------------------------------");
customerPortfolioComplex = null;
Runtime.getRuntime().gc();
}
}
@@ -0,0 +1,95 @@
package org.baeldung.data.complex;
import java.io.IOException;
import java.util.Map;
import org.apache.log4j.Logger;
import org.baeldung.data.utility.Utility;
import org.baeldung.pojo.complex.CustomerPortfolioComplex;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
*
* This class is responsible for performing functions for Complex type
* Jackson like
* Java to Json
* Json to Map
* Json to Java Object
*/
public class ComplexDataJackson {
private static final Logger logger = Logger.getLogger(ComplexDataJackson.class);
static ObjectMapper mapper = new ObjectMapper();
static long generateJsonAvgTime = 0L;
static long parseJsonToMapAvgTime = 0L;
static long parseJsonToActualObjectAvgTime = 0L;
public static void main(String[] args) throws IOException {
CustomerPortfolioComplex customerPortfolioComplex = ComplexDataGeneration.generateData();
int j = 50;
for (int i = 0; i < j; i++) {
logger.info("-------Round " + (i + 1));
String jsonStr = generateJson(customerPortfolioComplex);
logger.info("Size of Complex content Jackson :: " + Utility.bytesIntoMB(jsonStr.getBytes().length));
logger.info("--------------------------------------------------------------------------");
parseJsonToMap(jsonStr);
parseJsonToActualObject(jsonStr);
jsonStr = null;
}
generateJsonAvgTime = generateJsonAvgTime / j;
parseJsonToMapAvgTime = parseJsonToMapAvgTime / j;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime / j;
logger.info("--------------------------------------------------------------------------");
logger.info("Average Time to Generate JSON : " + generateJsonAvgTime);
logger.info("Average Time to Parse JSON To Map : " + parseJsonToMapAvgTime);
logger.info("Average Time to Parse JSON To Actual Object : " + parseJsonToActualObjectAvgTime);
logger.info("--------------------------------------------------------------------------");
}
private static String generateJson(CustomerPortfolioComplex customerPortfolioComplex)
throws JsonProcessingException {
Runtime.getRuntime().gc();
long startParsTime = System.nanoTime();
String json = mapper.writeValueAsString(customerPortfolioComplex);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
generateJsonAvgTime = generateJsonAvgTime + elapsedTime;
logger.info("Json Generation Time(ms):: " + elapsedTime);
return json;
}
private static void parseJsonToMap(String jsonStr) throws JsonParseException , JsonMappingException , IOException {
long startParsTime = System.nanoTime();
Map parsedMap = mapper.readValue(jsonStr , Map.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToMapAvgTime = parseJsonToMapAvgTime + elapsedTime;
logger.info("Generating Map from json Time(ms):: " + elapsedTime);
parsedMap = null;
Runtime.getRuntime().gc();
}
private static void parseJsonToActualObject(String jsonStr) throws JsonParseException , JsonMappingException ,
IOException {
long startParsTime = System.nanoTime();
CustomerPortfolioComplex customerPortfolioComplex = mapper.readValue(jsonStr , CustomerPortfolioComplex.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime + elapsedTime;
logger.info("Generating Actual Object from json Time(ms):: " + elapsedTime);
customerPortfolioComplex = null;
Runtime.getRuntime().gc();
}
}
@@ -0,0 +1,35 @@
package org.baeldung.data.simple;
import java.util.ArrayList;
import java.util.List;
import org.baeldung.data.utility.Utility;
import org.baeldung.pojo.simple.Customer;
import org.baeldung.pojo.simple.CustomerPortfolioSimple;
/**
*
* This class is responsible for generating data for simple type object
*/
public class SimpleDataGeneration {
public static CustomerPortfolioSimple generateData() {
List<Customer> customerList = new ArrayList<Customer>();
for (int i = 0; i < 1; i++) {
Customer customer = new Customer();
customer.setAge(20);
customer.setFirstName(Utility.generateRandomName());
customer.setLastName(Utility.generateRandomName());
customerList.add(customer);
customer = null;
}
CustomerPortfolioSimple customerPortfolioSimple = new CustomerPortfolioSimple();
customerPortfolioSimple.setCustomerLists(customerList);
customerList = null;
return customerPortfolioSimple;
}
}
@@ -0,0 +1,91 @@
package org.baeldung.data.simple;
import java.util.Map;
import org.apache.log4j.Logger;
import org.baeldung.data.utility.Utility;
import org.baeldung.pojo.simple.CustomerPortfolioSimple;
import com.google.gson.Gson;
/**
*
* This class is responsible for performing functions for Simple type
* GSON like
* Java to Json
* Json to Map
* Json to Java Object
*/
public class SimpleDataGson {
private static final Logger logger = Logger.getLogger(SimpleDataGson.class);
static Gson gson = new Gson();
static long generateJsonAvgTime = 0L;
static long parseJsonToMapAvgTime = 0L;
static long parseJsonToActualObjectAvgTime = 0L;
public static void main(String[] args) {
CustomerPortfolioSimple customerPortfolioSimple = SimpleDataGeneration.generateData();
String jsonStr = null;
int j = 5;
for (int i = 0; i < j; i++) {
logger.info("-------Round " + (i + 1));
jsonStr = generateJson(customerPortfolioSimple);
logger.info("Size of Simple content Gson :: " + Utility.bytesIntoMB(jsonStr.getBytes().length));
logger.info("--------------------------------------------------------------------------");
parseJsonToMap(jsonStr);
parseJsonToActualObject(jsonStr);
jsonStr = null;
}
generateJsonAvgTime = generateJsonAvgTime / j;
parseJsonToMapAvgTime = parseJsonToMapAvgTime / j;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime / j;
logger.info("--------------------------------------------------------------------------");
logger.info("Average Time to Generate JSON : " + generateJsonAvgTime);
logger.info("Average Time to Parse JSON To Map : " + parseJsonToMapAvgTime);
logger.info("Average Time to Parse JSON To Actual Object : " + parseJsonToActualObjectAvgTime);
logger.info("--------------------------------------------------------------------------");
}
private static String generateJson(CustomerPortfolioSimple customerPortfolioSimple) {
Runtime.getRuntime().gc();
long startParsTime = System.nanoTime();
String json = gson.toJson(customerPortfolioSimple);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
generateJsonAvgTime = generateJsonAvgTime + elapsedTime;
logger.info("Json Generation Time(ms):: " + elapsedTime);
return json;
}
private static void parseJsonToMap(String jsonStr) {
long startParsTime = System.nanoTime();
Map parsedMap = gson.fromJson(jsonStr , Map.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToMapAvgTime = parseJsonToMapAvgTime + elapsedTime;
logger.info("Generating Map from json Time(ms):: " + elapsedTime);
logger.info("--------------------------------------------------------------------------");
parsedMap = null;
Runtime.getRuntime().gc();
}
private static void parseJsonToActualObject(String jsonStr) {
long startParsTime = System.nanoTime();
CustomerPortfolioSimple customerPortfolioSimple = gson.fromJson(jsonStr , CustomerPortfolioSimple.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime + elapsedTime;
logger.info("Generating Actual Object from json Time(ms):: " + elapsedTime);
logger.info("--------------------------------------------------------------------------");
customerPortfolioSimple = null;
Runtime.getRuntime().gc();
}
}
@@ -0,0 +1,95 @@
package org.baeldung.data.simple;
import java.io.IOException;
import java.util.Map;
import org.apache.log4j.Logger;
import org.baeldung.data.utility.Utility;
import org.baeldung.pojo.simple.CustomerPortfolioSimple;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
*
* This class is responsible for performing functions for Simple type
* GSON like
* Java to Json
* Json to Map
* Json to Java Object
*/
public class SimpleDataJackson {
private static final Logger logger = Logger.getLogger(SimpleDataJackson.class);
static ObjectMapper mapper = new ObjectMapper();
static long generateJsonAvgTime = 0L;
static long parseJsonToMapAvgTime = 0L;
static long parseJsonToActualObjectAvgTime = 0L;
public static void main(String[] args) throws IOException {
CustomerPortfolioSimple customerPortfolioSimple = SimpleDataGeneration.generateData();
int j = 50;
for (int i = 0; i < j; i++) {
logger.info("-------Round " + (i + 1));
String jsonStr = generateJson(customerPortfolioSimple);
logger.info("Size of Simple content Jackson :: " + Utility.bytesIntoMB(jsonStr.getBytes().length));
logger.info("--------------------------------------------------------------------------");
parseJsonToMap(jsonStr);
parseJsonToActualObject(jsonStr);
jsonStr = null;
}
generateJsonAvgTime = generateJsonAvgTime / j;
parseJsonToMapAvgTime = parseJsonToMapAvgTime / j;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime / j;
logger.info("--------------------------------------------------------------------------");
logger.info("Average Time to Generate JSON : " + generateJsonAvgTime);
logger.info("Average Time to Parse JSON To Map : " + parseJsonToMapAvgTime);
logger.info("Average Time to Parse JSON To Actual Object : " + parseJsonToActualObjectAvgTime);
logger.info("--------------------------------------------------------------------------");
}
private static String generateJson(CustomerPortfolioSimple customerPortfolioSimple) throws JsonProcessingException {
Runtime.getRuntime().gc();
long startParsTime = System.nanoTime();
String json = mapper.writeValueAsString(customerPortfolioSimple);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
generateJsonAvgTime = generateJsonAvgTime + elapsedTime;
logger.info("Json Generation Time(ms):: " + elapsedTime);
return json;
}
private static void parseJsonToMap(String jsonStr) throws JsonParseException , JsonMappingException , IOException {
long startParsTime = System.nanoTime();
Map parsedMap = mapper.readValue(jsonStr , Map.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToMapAvgTime = parseJsonToMapAvgTime + elapsedTime;
logger.info("Generating Map from json Time(ms):: " + elapsedTime);
logger.info("--------------------------------------------------------------------------");
parsedMap = null;
Runtime.getRuntime().gc();
}
private static void parseJsonToActualObject(String jsonStr) throws JsonParseException , JsonMappingException ,
IOException {
long startParsTime = System.nanoTime();
CustomerPortfolioSimple customerPortfolioSimple = mapper.readValue(jsonStr , CustomerPortfolioSimple.class);
long endParsTime = System.nanoTime();
long elapsedTime = endParsTime - startParsTime;
parseJsonToActualObjectAvgTime = parseJsonToActualObjectAvgTime + elapsedTime;
logger.info("Generating Actual Object from json Time(ms):: " + elapsedTime);
customerPortfolioSimple = null;
Runtime.getRuntime().gc();
}
}
@@ -0,0 +1,90 @@
package org.baeldung.data.utility;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Random;
public class Utility {
public static String generateRandomName() {
char[] chars = "abcdefghijklmnopqrstuvwxyz ".toCharArray();
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 8; i++) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
}
return sb.toString();
}
public static String generateRandomAddress() {
char[] chars = "abcdefghijklmnopqrstuvwxyz ".toCharArray();
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 30; i++) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
}
return sb.toString();
}
public static String generateRandomZip() {
char[] chars = "1234567890".toCharArray();
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 8; i++) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
}
return sb.toString();
}
public static String generateRandomPhone() {
char[] chars = "1234567890".toCharArray();
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 10; i++) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
}
return sb.toString();
}
public static String readFile(String fileName , Class clazz) throws IOException {
String dir = clazz.getResource("/").getFile();
dir = dir + "/" + fileName;
BufferedReader br = new BufferedReader(new FileReader(dir));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
return sb.toString();
} finally {
br.close();
}
}
public static String bytesIntoMB(long bytes) {
long kilobyte = 1024;
long megabyte = kilobyte * 1024;
if ((bytes >= 0) && (bytes < kilobyte)) {
return bytes + " B";
} else if ((bytes >= kilobyte) && (bytes < megabyte)) {
return (bytes / kilobyte) + " KB";
} else if ((bytes >= megabyte)) {
return (bytes / megabyte) + " MB";
}
return null;
}
}
@@ -0,0 +1,37 @@
package org.baeldung.pojo.complex;
import java.util.List;
public class AddressDetails {
private String address;
private String zipcode;
private List<ContactDetails> contactDetails;
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
public List<ContactDetails> getContactDetails() {
return contactDetails;
}
public void setContactDetails(List<ContactDetails> contactDetails) {
this.contactDetails = contactDetails;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
@@ -0,0 +1,25 @@
package org.baeldung.pojo.complex;
public class ContactDetails {
private String mobile;
private String landline;
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getLandline() {
return landline;
}
public void setLandline(String landline) {
this.landline = landline;
}
}
@@ -0,0 +1,18 @@
package org.baeldung.pojo.complex;
import java.util.List;
import org.baeldung.pojo.simple.Customer;
public class CustomerAddressDetails extends Customer {
private List<AddressDetails> addressDetails;
public List<AddressDetails> getAddressDetails() {
return addressDetails;
}
public void setAddressDetails(List<AddressDetails> addressDetails) {
this.addressDetails = addressDetails;
}
}
@@ -0,0 +1,17 @@
package org.baeldung.pojo.complex;
import java.util.List;
public class CustomerPortfolioComplex {
private List<CustomerAddressDetails> customerAddressDetailsList;
public List<CustomerAddressDetails> getCustomerAddressDetailsList() {
return customerAddressDetailsList;
}
public void setCustomerAddressDetailsList(List<CustomerAddressDetails> customerAddressDetailsList) {
this.customerAddressDetailsList = customerAddressDetailsList;
}
}
@@ -0,0 +1,36 @@
package org.baeldung.pojo.simple;
public class Customer {
private String firstName;
private String lastName;
private int age;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
@@ -0,0 +1,16 @@
package org.baeldung.pojo.simple;
import java.util.List;
public class CustomerPortfolioSimple {
private List<Customer> customerLists;
public List<Customer> getCustomerLists() {
return customerLists;
}
public void setCustomerLists(List<Customer> customerLists) {
this.customerLists = customerLists;
}
}
@@ -0,0 +1,16 @@
# Root logger option
log4j.rootLogger=DEBUG, file
# Redirect log messages to console
# log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# log4j.appender.stdout.Target=System.out
# log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log4j-application.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n