Как проверено в случае получения значения Object из Json, DslJson является более быстрым, чем Джексон, поэтому мы должны использовать DslJson вместо JackSon?
B / c, поскольку я видел, что во многих онлайн-документах он выглядит больше как Джексонпопулярнее, чем Dsljson, поэтому, если он быстрее, почему этот API не популярен?Есть какие-то причины?
Мой маленький чекер:
public class App {
public static void main(String[] args) throws IOException {
String jsonString = "{\"kind\":\"dog\",\"name\":\"misao\",\"age\":1}";
byte[] bytes = jsonString.getBytes();
Pet misa = new Pet("dog", "misa", 1);
// get object from json String
// Jackson
ObjectMapper mapper = new ObjectMapper();
long currentTime1 = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Pet misao = mapper.readValue(jsonString, Pet.class);
}
System.out.println(System.currentTimeMillis() - currentTime1); // 680 ms
long currentTime2 = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Pet misao = mapper.readValue(bytes, Pet.class);
}
System.out.println(System.currentTimeMillis() - currentTime2); // 623 ms
// DSLJson
DslJson<Object> dslJson = new DslJson<Object>();
long currentTime3 = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Pet misao = dslJson.deserialize(Pet.class, bytes, bytes.length);
}
System.out.println(System.currentTimeMillis() - currentTime3); // 182 ms
}}