Closed zapov closed 6 years ago
Updated.
Benchmark Mode Cnt Score Error Units
Serialization.dsljson thrpt 20 102306,380 ? 4716,863 ops/s
Serialization.dsljson_reflection thrpt 20 68765,047 ? 638,282 ops/s
Serialization.fastjson thrpt 20 24471,740 ? 331,200 ops/s
Serialization.flexjson thrpt 20 220,962 ? 49,237 ops/s
Serialization.genson thrpt 20 19266,476 ? 321,973 ops/s
Serialization.gson thrpt 20 12089,020 ? 562,785 ops/s
Serialization.jackson thrpt 20 19253,075 ? 141,581 ops/s
Serialization.jackson_afterburner thrpt 20 19915,464 ? 200,967 ops/s
Serialization.jodd thrpt 20 11618,676 ? 191,402 ops/s
Serialization.logansquare thrpt 20 27599,297 ? 352,380 ops/s
Serialization.moshi thrpt 20 15209,841 ? 113,227 ops/s
Benchmark Mode Cnt Score Error Units
Deserialization.dsljson thrpt 20 56250,445 ? 4211,234 ops/s
Deserialization.dsljson_reflection thrpt 20 42076,540 ? 470,364 ops/s
Deserialization.fastjson thrpt 20 8076,086 ? 106,259 ops/s
Deserialization.flexjson thrpt 20 3642,650 ? 138,083 ops/s
Deserialization.genson thrpt 20 7864,397 ? 219,403 ops/s
Deserialization.gson thrpt 20 6635,857 ? 39,815 ops/s
Deserialization.jackson thrpt 20 7664,946 ? 112,030 ops/s
Deserialization.jackson_afterburner thrpt 20 7816,264 ? 77,006 ops/s
Deserialization.jodd thrpt 20 7263,240 ? 215,127 ops/s
Deserialization.logansquare thrpt 20 7550,648 ? 192,083 ops/s
Deserialization.moshi thrpt 20 6408,533 ? 64,476 ops/s
Also, one more remark. For DSL-JSON streaming should be same as databinding. The only way it would be faster is if you reuse instances during streaming... so less garbage is created (but you don't do that in the streaming so it was kind of pointless to write an implementation)
I checked out your branch and ran ./gradlew clean build
but get tons of test failures:
Note: Recompile with -Xlint:unchecked for details.
:processTestResources UP-TO-DATE
:testClasses
:test
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > jsoniter FAILED
com.jsoniter.spi.JsonException: failed to generate decoder for: class java.util.UUID with [], exception: javassist.CannotCompileException: [source error] no such constructor: java.util.UUID
public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter);
if (iter.readNull()) { return null; }
java.util.UUID obj = (existingObj == null ? new java.util.UUID() : (java.util.UUID)existingObj);
if (!com.jsoniter.CodegenAccess.readObjectStart(iter)) {
return obj;
}
com.jsoniter.Slice field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter);
boolean once = true;
while (once) {
once = false;
iter.skip();
}
while (com.jsoniter.CodegenAccess.nextToken(iter) == ',') {
field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter);
iter.skip();
}
return obj;
}
Caused by:
javassist.CannotCompileException: [source error] no such constructor: java.util.UUID
Caused by:
compile error: no such constructor: java.util.UUID
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > johnzon FAILED
org.apache.johnzon.mapper.MapperException: Using fallback converter, this only works in write mode but not in read. Please register a custom converter to do so.
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > jsonsmart FAILED
java.lang.AssertionError: Library 'jsonsmart' for api 'databind returned null
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > yasson FAILED
javax.json.bind.JsonbException: Error deserialize JSON value into type: class java.util.UUID.
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > boon FAILED
org.boon.Exceptions$SoftenedException: fieldName clients of class class com.github.fabienrenaud.jjb.model.Clients had issues for value LIST for field FieldInfo [name=clients, type=interface java.util.List, parentType=class com.github.fabienrenaud.jjb.model.Clients]
CAUSE org.boon.Exceptions$SoftenedException :: fieldName registered of class class com.github.fabienrenaud.jjb.model.Clients$Client had issues for value 1925-01-02 for field FieldInfo [name=registered, type=class java.time.LocalDate, parentType=class com.github.fabienrenaud.jjb.model.Clients$Client]
CAUSE org.boon.Exceptions$SoftenedException :: Unable to convert 1925-01-02 to SYSTEM class java.time.LocalDate
Caused by:
org.boon.Exceptions$SoftenedException: fieldName registered of class class com.github.fabienrenaud.jjb.model.Clients$Client had issues for value 1925-01-02 for field FieldInfo [name=registered, type=class java.time.LocalDate, parentType=class com.github.fabienrenaud.jjb.model.Clients$Client]
CAUSE org.boon.Exceptions$SoftenedException :: Unable to convert 1925-01-02 to SYSTEM class java.time.LocalDate
Caused by:
org.boon.Exceptions$SoftenedException: Unable to convert 1925-01-02 to SYSTEM class java.time.LocalDate
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > moshi STANDARD_OUT
Difference in Clients!
Original : Clients{clients=[JsonDataObj{_id=2467479586387401790, index=111237895, guid=55f69c22-a5b6-b114-0a9f-f8c6715803cc, isActive=false, balance=0.17817409296458753, picture=SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H, age=83, eyeColor=BLUE, name=AwGSIs5xntAcRLIK4uLC, gender=A6ntvYG52DQWE9LA8KsF, company=r6agVkiB5S8dlknFXxVH, emails=[hKtnaNnQwroApJrvJLNj, CUKKGaxVyIOocAVrPGfl], phones=[1951215086,1718857680,42090623,316854006,1224893101], address=yiJan6BwhFx54ccUEBrs, about=Kcep086bft8OYty3qUJW, registered=1925-01-02, latitude=56.633235824046814, longitude=141.26035778047748, tags=[BcEMr4BFIt, NVO9j3Nwew, bwPUJbs8qz, XTcXS6zXVa, 1Rgij0hmZZ, ksHRpDDSAD, uSLFRVbG3y, pk2r56hYOv, XO6SJlP8IE, Z1yknEvhmu, xERcgMXLb8, ft9aeSB5To, MNh7iykzMB, wtcsamDLIS, IHylLTO7a5, TLBLPLjaq8, yhZkXQnsPQ, l3UMrmycKt, 8euYGfMzis, RrbWO5prFV, IJdX0ee5Su, oL53cQoLUG, porUWmfzdj, Ol0EInLouU, wKHEdO9Q06, tNmtqlgq55], partners=[Partner{id=-2831276850007477278, name=AdlfRrolPpeVhrXqhDqBDfseXWRUWN, since=1938-04-27T07:35:09.432337491Z}, Partner{id=6870322089595241841, name=zqTEaGBZpihvzzPWLwpiDWvcdMzzgc, since=1949-12-14T13:06:19.357154013Z}, Partner{id=2213109548723001834, name=esumknVEOHDYmNgNofhDLFqLSYAtXU, since=2002-09-25T22:25:56.783081543Z}, Partner{id=-6830809849005581885, name=TDGTVKSxpmUIhSNRuXlFMKQhnuKqMX, since=1911-07-16T11:25:15.635289402Z}, Partner{id=-4417025369801921057, name=rIQhpHTaCOAgCtGbQcFPyMdSfiyFhn, since=1902-08-10T14:29:48.067875627Z}, Partner{id=-3720028023887434318, name=tLAPAxGCtioDibxmMjRwzsUSKqxPQH, since=1969-04-17T14:42:39.662203732Z}, Partner{id=67157380407381230, name=YnlegmWaxNPCVATamOcWuEWCbuioAV, since=1980-10-06T07:38:28.713807191Z}, Partner{id=4133323617887262349, name=afGihkFpjiZouYXcYzRJCLqkYjZmsx, since=1997-07-06T10:11:12.559253138Z}]}, JsonDataObj{_id=7849465537177327687, index=479402623, guid=09b89776-a3f1-df1e-02a4-335481fd2e55, isActive=false, balance=0.5017457521751565, picture=Ojd8qHYFUxfm3tQpz0eXXcAiXHzI9sEkQlDrCSJ96nfoExBYbtcvuvbFELcJyQ4Jg1Trcx80RO2Cj8XHlLNc71crE4DF1igZEX8r, age=89, eyeColor=BROWN, name=fGFLzMtTDeQZ5n5a6AMp, gender=wHxOxCsubd530LWKVBrj, company=goUp66UphafZ0yMU8z5T, emails=[ljCtSPLOWmIaGiwKgiwv, UvlACzekJoUoYPXNENNb, pdGZCEJUqXLDXMKAxulS, lHDuKlCvpskPrechkqyp, rYlMRwfNuVqhffzrpsXN, HiCgYLNQlgcmzByLIvAM], phones=[], address=pAMCPBK2e4xPZJaCdyor, about=fJi4OLVTDXuAsPQpl0IZ, registered=1937-09-22, latitude=79.26248210156656, longitude=23.769208027898788, tags=[], partners=[]}]}
Transformed: Clients{clients=[JsonDataObj{_id=2467479586387401790, index=111237895, guid=55f69c22-a5b6-b114-0a9f-f8c6715803cc, isActive=false, balance=0.17817409296458752709924056034651584923267364501953125, picture=SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H, age=83, eyeColor=BLUE, name=AwGSIs5xntAcRLIK4uLC, gender=A6ntvYG52DQWE9LA8KsF, company=r6agVkiB5S8dlknFXxVH, emails=[hKtnaNnQwroApJrvJLNj, CUKKGaxVyIOocAVrPGfl], phones=[1951215086,1718857680,42090623,316854006,1224893101], address=yiJan6BwhFx54ccUEBrs, about=Kcep086bft8OYty3qUJW, registered=1925-01-02, latitude=56.633235824046814, longitude=141.26035778047748, tags=[BcEMr4BFIt, NVO9j3Nwew, bwPUJbs8qz, XTcXS6zXVa, 1Rgij0hmZZ, ksHRpDDSAD, uSLFRVbG3y, pk2r56hYOv, XO6SJlP8IE, Z1yknEvhmu, xERcgMXLb8, ft9aeSB5To, MNh7iykzMB, wtcsamDLIS, IHylLTO7a5, TLBLPLjaq8, yhZkXQnsPQ, l3UMrmycKt, 8euYGfMzis, RrbWO5prFV, IJdX0ee5Su, oL53cQoLUG, porUWmfzdj, Ol0EInLouU, wKHEdO9Q06, tNmtqlgq55], partners=[Partner{id=-2831276850007477278, name=AdlfRrolPpeVhrXqhDqBDfseXWRUWN, since=1938-04-27T07:35:09.432337491Z}, Partner{id=6870322089595241841, name=zqTEaGBZpihvzzPWLwpiDWvcdMzzgc, since=1949-12-14T13:06:19.357154013Z}, Partner{id=2213109548723001834, name=esumknVEOHDYmNgNofhDLFqLSYAtXU, since=2002-09-25T22:25:56.783081543Z}, Partner{id=-6830809849005581885, name=TDGTVKSxpmUIhSNRuXlFMKQhnuKqMX, since=1911-07-16T11:25:15.635289402Z}, Partner{id=-4417025369801921057, name=rIQhpHTaCOAgCtGbQcFPyMdSfiyFhn, since=1902-08-10T14:29:48.067875627Z}, Partner{id=-3720028023887434318, name=tLAPAxGCtioDibxmMjRwzsUSKqxPQH, since=1969-04-17T14:42:39.662203732Z}, Partner{id=67157380407381230, name=YnlegmWaxNPCVATamOcWuEWCbuioAV, since=1980-10-06T07:38:28.713807191Z}, Partner{id=4133323617887262349, name=afGihkFpjiZouYXcYzRJCLqkYjZmsx, since=1997-07-06T10:11:12.559253138Z}]}, JsonDataObj{_id=7849465537177327687, index=479402623, guid=09b89776-a3f1-df1e-02a4-335481fd2e55, isActive=false, balance=0.50174575217515648972721464815549552440643310546875, picture=Ojd8qHYFUxfm3tQpz0eXXcAiXHzI9sEkQlDrCSJ96nfoExBYbtcvuvbFELcJyQ4Jg1Trcx80RO2Cj8XHlLNc71crE4DF1igZEX8r, age=89, eyeColor=BROWN, name=fGFLzMtTDeQZ5n5a6AMp, gender=wHxOxCsubd530LWKVBrj, company=goUp66UphafZ0yMU8z5T, emails=[ljCtSPLOWmIaGiwKgiwv, UvlACzekJoUoYPXNENNb, pdGZCEJUqXLDXMKAxulS, lHDuKlCvpskPrechkqyp, rYlMRwfNuVqhffzrpsXN, HiCgYLNQlgcmzByLIvAM], phones=[], address=pAMCPBK2e4xPZJaCdyor, about=fJi4OLVTDXuAsPQpl0IZ, registered=1937-09-22, latitude=79.26248210156656, longitude=23.769208027898788, tags=[], partners=[]}]}
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > moshi FAILED
java.lang.AssertionError
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > logansquare STANDARD_OUT
Difference in Clients!
Original : Clients{clients=[JsonDataObj{_id=2467479586387401790, index=111237895, guid=55f69c22-a5b6-b114-0a9f-f8c6715803cc, isActive=false, balance=0.17817409296458753, picture=SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H, age=83, eyeColor=BLUE, name=AwGSIs5xntAcRLIK4uLC, gender=A6ntvYG52DQWE9LA8KsF, company=r6agVkiB5S8dlknFXxVH, emails=[hKtnaNnQwroApJrvJLNj, CUKKGaxVyIOocAVrPGfl], phones=[1951215086,1718857680,42090623,316854006,1224893101], address=yiJan6BwhFx54ccUEBrs, about=Kcep086bft8OYty3qUJW, registered=1925-01-02, latitude=56.633235824046814, longitude=141.26035778047748, tags=[BcEMr4BFIt, NVO9j3Nwew, bwPUJbs8qz, XTcXS6zXVa, 1Rgij0hmZZ, ksHRpDDSAD, uSLFRVbG3y, pk2r56hYOv, XO6SJlP8IE, Z1yknEvhmu, xERcgMXLb8, ft9aeSB5To, MNh7iykzMB, wtcsamDLIS, IHylLTO7a5, TLBLPLjaq8, yhZkXQnsPQ, l3UMrmycKt, 8euYGfMzis, RrbWO5prFV, IJdX0ee5Su, oL53cQoLUG, porUWmfzdj, Ol0EInLouU, wKHEdO9Q06, tNmtqlgq55], partners=[Partner{id=-2831276850007477278, name=AdlfRrolPpeVhrXqhDqBDfseXWRUWN, since=1938-04-27T07:35:09.432337491Z}, Partner{id=6870322089595241841, name=zqTEaGBZpihvzzPWLwpiDWvcdMzzgc, since=1949-12-14T13:06:19.357154013Z}, Partner{id=2213109548723001834, name=esumknVEOHDYmNgNofhDLFqLSYAtXU, since=2002-09-25T22:25:56.783081543Z}, Partner{id=-6830809849005581885, name=TDGTVKSxpmUIhSNRuXlFMKQhnuKqMX, since=1911-07-16T11:25:15.635289402Z}, Partner{id=-4417025369801921057, name=rIQhpHTaCOAgCtGbQcFPyMdSfiyFhn, since=1902-08-10T14:29:48.067875627Z}, Partner{id=-3720028023887434318, name=tLAPAxGCtioDibxmMjRwzsUSKqxPQH, since=1969-04-17T14:42:39.662203732Z}, Partner{id=67157380407381230, name=YnlegmWaxNPCVATamOcWuEWCbuioAV, since=1980-10-06T07:38:28.713807191Z}, Partner{id=4133323617887262349, name=afGihkFpjiZouYXcYzRJCLqkYjZmsx, since=1997-07-06T10:11:12.559253138Z}]}, JsonDataObj{_id=7849465537177327687, index=479402623, guid=09b89776-a3f1-df1e-02a4-335481fd2e55, isActive=false, balance=0.5017457521751565, picture=Ojd8qHYFUxfm3tQpz0eXXcAiXHzI9sEkQlDrCSJ96nfoExBYbtcvuvbFELcJyQ4Jg1Trcx80RO2Cj8XHlLNc71crE4DF1igZEX8r, age=89, eyeColor=BROWN, name=fGFLzMtTDeQZ5n5a6AMp, gender=wHxOxCsubd530LWKVBrj, company=goUp66UphafZ0yMU8z5T, emails=[ljCtSPLOWmIaGiwKgiwv, UvlACzekJoUoYPXNENNb, pdGZCEJUqXLDXMKAxulS, lHDuKlCvpskPrechkqyp, rYlMRwfNuVqhffzrpsXN, HiCgYLNQlgcmzByLIvAM], phones=[], address=pAMCPBK2e4xPZJaCdyor, about=fJi4OLVTDXuAsPQpl0IZ, registered=1937-09-22, latitude=79.26248210156656, longitude=23.769208027898788, tags=[], partners=[]}]}
Transformed: Clients{clients=[JsonDataObj{_id=2467479586387401790, index=111237895, guid=55f69c22-a5b6-b114-0a9f-f8c6715803cc, isActive=false, balance=0.17817409296458752709924056034651584923267364501953125, picture=SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H, age=83, eyeColor=BLUE, name=AwGSIs5xntAcRLIK4uLC, gender=A6ntvYG52DQWE9LA8KsF, company=r6agVkiB5S8dlknFXxVH, emails=[hKtnaNnQwroApJrvJLNj, CUKKGaxVyIOocAVrPGfl], phones=[1951215086,1718857680,42090623,316854006,1224893101], address=yiJan6BwhFx54ccUEBrs, about=Kcep086bft8OYty3qUJW, registered=1925-01-02, latitude=56.633235824046814, longitude=141.26035778047748, tags=[BcEMr4BFIt, NVO9j3Nwew, bwPUJbs8qz, XTcXS6zXVa, 1Rgij0hmZZ, ksHRpDDSAD, uSLFRVbG3y, pk2r56hYOv, XO6SJlP8IE, Z1yknEvhmu, xERcgMXLb8, ft9aeSB5To, MNh7iykzMB, wtcsamDLIS, IHylLTO7a5, TLBLPLjaq8, yhZkXQnsPQ, l3UMrmycKt, 8euYGfMzis, RrbWO5prFV, IJdX0ee5Su, oL53cQoLUG, porUWmfzdj, Ol0EInLouU, wKHEdO9Q06, tNmtqlgq55], partners=[Partner{id=-2831276850007477278, name=AdlfRrolPpeVhrXqhDqBDfseXWRUWN, since=1938-04-27T07:35:09.432337491Z}, Partner{id=6870322089595241841, name=zqTEaGBZpihvzzPWLwpiDWvcdMzzgc, since=1949-12-14T13:06:19.357154013Z}, Partner{id=2213109548723001834, name=esumknVEOHDYmNgNofhDLFqLSYAtXU, since=2002-09-25T22:25:56.783081543Z}, Partner{id=-6830809849005581885, name=TDGTVKSxpmUIhSNRuXlFMKQhnuKqMX, since=1911-07-16T11:25:15.635289402Z}, Partner{id=-4417025369801921057, name=rIQhpHTaCOAgCtGbQcFPyMdSfiyFhn, since=1902-08-10T14:29:48.067875627Z}, Partner{id=-3720028023887434318, name=tLAPAxGCtioDibxmMjRwzsUSKqxPQH, since=1969-04-17T14:42:39.662203732Z}, Partner{id=67157380407381230, name=YnlegmWaxNPCVATamOcWuEWCbuioAV, since=1980-10-06T07:38:28.713807191Z}, Partner{id=4133323617887262349, name=afGihkFpjiZouYXcYzRJCLqkYjZmsx, since=1997-07-06T10:11:12.559253138Z}]}, JsonDataObj{_id=7849465537177327687, index=479402623, guid=09b89776-a3f1-df1e-02a4-335481fd2e55, isActive=false, balance=0.50174575217515648972721464815549552440643310546875, picture=Ojd8qHYFUxfm3tQpz0eXXcAiXHzI9sEkQlDrCSJ96nfoExBYbtcvuvbFELcJyQ4Jg1Trcx80RO2Cj8XHlLNc71crE4DF1igZEX8r, age=89, eyeColor=BROWN, name=fGFLzMtTDeQZ5n5a6AMp, gender=wHxOxCsubd530LWKVBrj, company=goUp66UphafZ0yMU8z5T, emails=[ljCtSPLOWmIaGiwKgiwv, UvlACzekJoUoYPXNENNb, pdGZCEJUqXLDXMKAxulS, lHDuKlCvpskPrechkqyp, rYlMRwfNuVqhffzrpsXN, HiCgYLNQlgcmzByLIvAM], phones=[], address=pAMCPBK2e4xPZJaCdyor, about=fJi4OLVTDXuAsPQpl0IZ, registered=1937-09-22, latitude=79.26248210156656, longitude=23.769208027898788, tags=[], partners=[]}]}
com.github.fabienrenaud.jjb.databind.ClientsDeserializationTest > logansquare FAILED
java.lang.AssertionError
com.github.fabienrenaud.jjb.databind.ClientsSerializationTest > jsoniter FAILED
com.jsoniter.spi.JsonException: getter name conflict: chronology
com.github.fabienrenaud.jjb.databind.ClientsSerializationTest > johnzon FAILED
java.lang.AssertionError: Unexpected token (START_OBJECT), expected VALUE_STRING: Expected array or string.
at [Source: (String)"{"clients":[{"address":"yiJan6BwhFx54ccUEBrs","gender":"A6ntvYG52DQWE9LA8KsF","latitude":56.633235824046814,"about":"Kcep086bft8OYty3qUJW","index":111237895,"phones":[1951215086,1718857680,42090623,316854006,1224893101],"registered":{"month":1,"year":1925,"day":2},"isActive":false,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","tags":["BcEMr4BFIt","NVO9j3Nwew","bwPUJbs8qz","XTcXS6zXVa","1Rgij0hmZZ","ksHRpDDSAD","uSLFRVbG3y","pk2r5"[truncated 3068 chars]; line: 1, column: 234] (through reference chain: com.github.fabienrenaud.jjb.model.Clients["clients"]->java.util.ArrayList[0]->com.github.fabienrenaud.jjb.model.Clients$Client["registered"])
com.github.fabienrenaud.jjb.databind.ClientsSerializationTest > jsonsmart FAILED
java.lang.IllegalAccessError: tried to access field java.time.LocalDate.month from class net.minidev.asm.java.time.LocalDateAccAccess
com.github.fabienrenaud.jjb.databind.ClientsSerializationTest > yasson FAILED
java.lang.AssertionError: Cannot deserialize instance of `java.util.UUID` out of START_OBJECT token
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":"0.17817409296458753","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":{"leastSignificantBits":765603992865080268,"mostSignificantBits":6194310010117730580},"index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uL"[truncated 2188 chars]; line: 1, column: 292] (through reference chain: com.github.fabienrenaud.jjb.model.Clients["clients"]->java.util.ArrayList[0]->com.github.fabienrenaud.jjb.model.Clients$Client["guid"])
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > dsljson_reflection FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > jsoniter FAILED
com.jsoniter.spi.JsonException: failed to generate decoder for: class java.time.LocalDate with [], exception: javassist.CannotCompileException: [source error] no such constructor: java.time.LocalDate
public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter);
if (iter.readNull()) { return null; }
java.time.LocalDate obj = (existingObj == null ? new java.time.LocalDate() : (java.time.LocalDate)existingObj);
if (!com.jsoniter.CodegenAccess.readObjectStart(iter)) {
return obj;
}
com.jsoniter.Slice field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter);
boolean once = true;
while (once) {
once = false;
iter.skip();
}
while (com.jsoniter.CodegenAccess.nextToken(iter) == ',') {
field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter);
iter.skip();
}
return obj;
}
Caused by:
javassist.CannotCompileException: [source error] no such constructor: java.time.LocalDate
Caused by:
compile error: no such constructor: java.time.LocalDate
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > jackson FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > johnzon FAILED
org.apache.johnzon.mapper.MapperException: Using fallback converter, this only works in write mode but not in read. Please register a custom converter to do so.
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > genson FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > jsonsmart FAILED
java.lang.AssertionError: Library 'jsonsmart' for api 'databind returned null
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > yasson FAILED
javax.json.bind.JsonbException: Error deserialize JSON value into type: class java.util.UUID.
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > jackson_afterburner FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > boon FAILED
org.boon.Exceptions$SoftenedException: fieldName clients of class class com.github.fabienrenaud.jjb.model.Clients had issues for value LIST for field FieldInfo [name=clients, type=interface java.util.List, parentType=class com.github.fabienrenaud.jjb.model.Clients]
CAUSE org.boon.Exceptions$SoftenedException :: fieldName registered of class class com.github.fabienrenaud.jjb.model.Clients$Client had issues for value 1925-01-02 for field FieldInfo [name=registered, type=class java.time.LocalDate, parentType=class com.github.fabienrenaud.jjb.model.Clients$Client]
CAUSE org.boon.Exceptions$SoftenedException :: Unable to convert 1925-01-02 to SYSTEM class java.time.LocalDate
Caused by:
org.boon.Exceptions$SoftenedException: fieldName registered of class class com.github.fabienrenaud.jjb.model.Clients$Client had issues for value 1925-01-02 for field FieldInfo [name=registered, type=class java.time.LocalDate, parentType=class com.github.fabienrenaud.jjb.model.Clients$Client]
CAUSE org.boon.Exceptions$SoftenedException :: Unable to convert 1925-01-02 to SYSTEM class java.time.LocalDate
Caused by:
org.boon.Exceptions$SoftenedException: Unable to convert 1925-01-02 to SYSTEM class java.time.LocalDate
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > gson FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > jodd FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > moshi FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > fastjson FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > logansquare FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > flexjson FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersDeserializationTest > dsljson FAILED
java.lang.ClassCastException: com.github.fabienrenaud.jjb.model.Clients cannot be cast to com.github.fabienrenaud.jjb.model.Users
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > dsljson_reflection FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","isActive":false,"balance":0.17817409296458753,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":"BLUE","name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[1951215086,1718857680,42090623,316854006,1224893"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > jsoniter FAILED
com.jsoniter.spi.JsonException: getter name conflict: chronology
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > jackson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","isActive":false,"balance":0.17817409296458753,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":"BLUE","name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[1951215086,1718857680,42090623,316854006,1224893"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > johnzon FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"address":"yiJan6BwhFx54ccUEBrs","gender":"A6ntvYG52DQWE9LA8KsF","latitude":56.633235824046814,"about":"Kcep086bft8OYty3qUJW","index":111237895,"phones":[1951215086,1718857680,42090623,316854006,1224893101],"registered":{"month":1,"year":1925,"day":2},"isActive":false,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","tags":["BcEMr4BFIt","NVO9j3Nwew","bwPUJbs8qz","XTcXS6zXVa","1Rgij0hmZZ","ksHRpDDSAD","uSLFRVbG3y","pk2r5"[truncated 3068 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > genson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":0.17817409296458753,"company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uLC","partners":[{"id":-2831276850007477278,"name":"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > jsonsmart FAILED
java.lang.IllegalAccessError: tried to access field java.time.LocalDate.month from class net.minidev.asm.java.time.LocalDateAccAccess
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > yasson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":"0.17817409296458753","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":{"leastSignificantBits":765603992865080268,"mostSignificantBits":6194310010117730580},"index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uL"[truncated 2188 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > jackson_afterburner FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","isActive":false,"balance":0.17817409296458753,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":"BLUE","name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[1951215086,1718857680,42090623,316854006,1224893"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > gson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","isActive":false,"balance":0.17817409296458753,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":"BLUE","name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[1951215086,1718857680,42090623,316854006,1224893"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > jodd FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":0.17817409296458753,"company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uLC","partners":[{"id":-2831276850007477278,"name":"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > moshi FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":0.17817409296458753,"company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uLC","partners":[{"id":-2831276850007477278,"name":"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > fastjson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":0.17817409296458753,"company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uLC","partners":[{"id":-2831276850007477278,"name":"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > logansquare FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":0.17817409296458753,"company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uLC","partners":[{"id":-2831276850007477278,"name":"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > flexjson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"about":"Kcep086bft8OYty3qUJW","address":"yiJan6BwhFx54ccUEBrs","age":83,"balance":0.17817409296458753,"company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"eyeColor":"BLUE","gender":"A6ntvYG52DQWE9LA8KsF","guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","index":111237895,"isActive":false,"latitude":56.633235824046814,"longitude":141.26035778047748,"name":"AwGSIs5xntAcRLIK4uLC","partners":[{"id":-2831276850007477278,"name":"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.databind.UsersSerializationTest > dsljson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"address":"yiJan6BwhFx54ccUEBrs","gender":"A6ntvYG52DQWE9LA8KsF","latitude":56.633235824046814,"about":"Kcep086bft8OYty3qUJW","index":111237895,"phones":[1951215086,1718857680,42090623,316854006,1224893101],"registered":"1925-01-02","isActive":false,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","tags":["BcEMr4BFIt","NVO9j3Nwew","bwPUJbs8qz","XTcXS6zXVa","1Rgij0hmZZ","ksHRpDDSAD","uSLFRVbG3y","pk2r56hYOv","XO6SJlP8IE""[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.DeserializationTest > jackson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.DeserializationTest > genson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.DeserializationTest > orgjson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"address":"yiJan6BwhFx54ccUEBrs","gender":"A6ntvYG52DQWE9LA8KsF","latitude":56.633235824046814,"about":"Kcep086bft8OYty3qUJW","index":111237895,"phones":[1951215086,1718857680,42090623,316854006,1224893101],"registered":"1925-01-02","isActive":false,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","tags":["BcEMr4BFIt","NVO9j3Nwew","bwPUJbs8qz","XTcXS6zXVa","1Rgij0hmZZ","ksHRpDDSAD","uSLFRVbG3y","pk2r56hYOv","XO6SJlP8IE""[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.DeserializationTest > jsonio FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","isActive":false,"balance":0.17817409296458753,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":"BLUE","name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[1951215086,1718857680,42090623,316854006,1224893"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.DeserializationTest > javaxjson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":"55f69c22-a5b6-b114-0a9f-f8c6715803cc","isActive":false,"balance":0.17817409296458753,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":"BLUE","name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[1951215086,1718857680,42090623,316854006,1224893"[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.DeserializationTest > tapestry FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{
"clients" : [
{
"_id" : 2467479586387401790,
"index" : 111237895,
"guid" : "55f69c22-a5b6-b114-0a9f-f8c6715803cc",
"isActive" : false,
"balance" : 0.17817409296458753,
"picture" : "SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H",
"age" : 83,
"eyeColor" : "BLUE",
"name" : "AwGSIs5xntAcRLIK4uLC",
"gender" : "A6ntvYG52DQWE9LA8KsF",
"company" : "r6agVkiB5S8dlknFXxVH",
"[truncated 3327 chars]; line: 2, column: 16] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.DeserializationTest > gson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.DeserializationTest > moshi FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.DeserializationTest > minimaljson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.DeserializationTest > jsonsimple FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"address":"yiJan6BwhFx54ccUEBrs","gender":"A6ntvYG52DQWE9LA8KsF","latitude":56.633235824046814,"about":"Kcep086bft8OYty3qUJW","index":111237895,"phones":[1951215086,1718857680,42090623,316854006,1224893101],"registered":"1925-01-02","isActive":false,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","tags":["BcEMr4BFIt","NVO9j3Nwew","bwPUJbs8qz","XTcXS6zXVa","1Rgij0hmZZ","ksHRpDDSAD","uSLFRVbG3y","pk2r56hYOv","XO6SJlP8IE""[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.DeserializationTest > nanojson FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"address":"yiJan6BwhFx54ccUEBrs","gender":"A6ntvYG52DQWE9LA8KsF","latitude":56.633235824046814,"about":"Kcep086bft8OYty3qUJW","index":111237895,"phones":[1951215086,1718857680,42090623,316854006,1224893101],"registered":"1925-01-02","isActive":false,"picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","tags":["BcEMr4BFIt","NVO9j3Nwew","bwPUJbs8qz","XTcXS6zXVa","1Rgij0hmZZ","ksHRpDDSAD","uSLFRVbG3y","pk2r56hYOv","XO6SJlP8IE""[truncated 2093 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.SerializationTest > jackson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > genson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > orgjson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > jsonio FAILED
java.lang.AssertionError: Unrecognized field "clients" (class com.github.fabienrenaud.jjb.model.Users), not marked as ignorable (one known property: "users"])
at [Source: (String)"{"clients":[{"_id":2467479586387401790,"index":111237895,"guid":{"mostSigBits":6194310010117730580,"leastSigBits":765603992865080268},"isActive":false,"balance":"0.17817409296458753","picture":"SbhIcvvtj0IoHhyNnXUpa0s6ZmTupwYeEMdicBZJjQxdGVIwHsXy0YONAZ3FmTxbT1AGrazOPIwbCTyXL1DHu5pxC0DupqdTSY8H","age":83,"eyeColor":{"name":"BLUE"},"name":"AwGSIs5xntAcRLIK4uLC","gender":"A6ntvYG52DQWE9LA8KsF","company":"r6agVkiB5S8dlknFXxVH","emails":["hKtnaNnQwroApJrvJLNj","CUKKGaxVyIOocAVrPGfl"],"phones":[195121"[truncated 3042 chars]; line: 1, column: 13] (through reference chain: com.github.fabienrenaud.jjb.model.Users["clients"])
com.github.fabienrenaud.jjb.stream.SerializationTest > javaxjson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > tapestry FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > gson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > moshi FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > minimaljson FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > jsonsimple FAILED
java.lang.NullPointerException
com.github.fabienrenaud.jjb.stream.SerializationTest > nanojson FAILED
java.lang.NullPointerException
146 tests completed, 64 failed
No issues when I build against my master though.
I actually never ran that ;( ... I've used
gradlew -q shadowJar
Which builds the jar and can be used for benching.
Most of those issues looks like bugs/missing features in the libraries, although some of them look strange.
I will assume they are caused by
public static final JsonSource JSON_SOURCE = JsonSourceFactory.create();
which provide wrong data to the second bench.
Any way you can make the unit tests pass with this change? They are there to verify all serialization/deserialization operations produce the same objects/strings since this isn't done by the benchmark itself (don't want to benchmark performance of equals).
I've done that from IntelliJ... which works fine for one set of tests. I can look into changing that... but I was expecting that to work since you said it supports multiple models ;(
But unit tests still wont pass (unless I look into how to exclude them from tests too) since some libraries can't be made to work at all.
So while I can look into fixing the test setup, I don't think that should block you from running the benchmark as is.
Build is now passing without errors. I've fixed a bug in Jackson streaming implementation (which caused an infinite loop on empty users). I had to disable Jsoniter javassist since Jsoniter generates invalid code for UUID and have put it in reflection mode.
This are the latest results for users on my laptop:
Serialization.boon thrpt 20 15385,202 ? 1989,433 ops/s
Serialization.dsljson thrpt 20 71690,576 ? 3027,459 ops/s
Serialization.dsljson_reflection thrpt 20 57924,062 ? 1007,969 ops/s
Serialization.fastjson thrpt 20 37817,573 ? 2191,576 ops/s
Serialization.flexjson thrpt 20 196,910 ? 43,771 ops/s
Serialization.genson thrpt 20 30257,403 ? 1079,499 ops/s
Serialization.gson thrpt 20 14824,460 ? 638,952 ops/s
Serialization.jackson thrpt 20 49393,134 ? 1401,092 ops/s
Serialization.jackson_afterburner thrpt 20 49850,113 ? 2945,745 ops/s
Serialization.jodd thrpt 20 12608,951 ? 662,465 ops/s
Serialization.johnzon thrpt 20 19939,115 ? 676,327 ops/s
Serialization.jsoniter thrpt 20 38469,174 ? 813,156 ops/s
Serialization.jsonsmart thrpt 20 23737,498 ? 315,698 ops/s
Serialization.logansquare thrpt 20 55283,850 ? 1458,226 ops/s
Serialization.moshi thrpt 20 23162,531 ? 656,664 ops/s
Serialization.yasson thrpt 20 25227,196 ? 525,606 ops/s
Deserialization.boon thrpt 20 20877,723 ? 1200,623 ops/s
Deserialization.dsljson thrpt 20 57137,065 ? 514,089 ops/s
Deserialization.dsljson_reflection thrpt 20 46315,537 ? 779,207 ops/s
Deserialization.fastjson thrpt 20 23419,271 ? 361,146 ops/s
Deserialization.flexjson thrpt 20 5936,794 ? 91,984 ops/s
Deserialization.genson thrpt 20 24127,202 ? 352,792 ops/s
Deserialization.gson thrpt 20 18158,947 ? 649,174 ops/s
Deserialization.jackson thrpt 20 31016,802 ? 282,405 ops/s
Deserialization.jackson_afterburner thrpt 20 33333,888 ? 501,062 ops/s
Deserialization.jodd thrpt 20 25675,253 ? 234,299 ops/s
Deserialization.johnzon thrpt 20 9169,098 ? 104,769 ops/s
Deserialization.jsoniter thrpt 20 36174,084 ? 454,191 ops/s
Deserialization.jsonsmart thrpt 20 19109,559 ? 753,772 ops/s
Deserialization.logansquare thrpt 20 30017,487 ? 1538,978 ops/s
Deserialization.moshi thrpt 20 17634,395 ? 95,633 ops/s
Deserialization.yasson thrpt 20 5295,379 ? 58,291 ops/s
I realized the tests were not working due to small size. They are working now as expected.
Do you have any ETAs for this/new run?
Some tests are failing at random with some libs btw: https://travis-ci.org/fabienrenaud/java-json-benchmark
Looks like genson doesn't handle BigDecimal well...
Version with reflection only (runtime databinding instead of compile time databinding) Clients data type - similar as Users, but with more non-string types
A lot of libraries either fail or need custom converters to support UUID, enums and Java time types ;(
Cleanup DSL-JSON implementation: no need for custom readers/writers. Write directly to stream