Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
コード生成でGsonをMoshiより高速化する - Islands in the byte stream の続きです。 GitHub - gfx/StaticGson: Static Gson binding library with annotation processing 三行まとめ StaticGsonはannotation processingでコード生成してGsonを高速化する拡張で、結果はLoganSquareより少し遅い程度 欠点はメソッド数+バイナリサイズのオーバーヘッド 利点はGsonと互換性の高さ。モデルにアノテーションをつけてGson初期化でオプションを一つ与えるだけ 解説 リフレクションで処理していたところをコード生成にして高速化する手法は思ったより効果ありそうだな、ということでjcenterにリリースしました。以下のように依存指定すると使えます。 depende
このたび JSON パーザのベンチマークを書きましたので、どうぞご査収下さい。 taichi/json-benchmarks Java8 がインストール済みの環境で、当該リポジトリを clone して ./gradlew jmh と実行する事で追試できます。 結果について jackson-databind が最速なので殆どの皆様におかれましては安心して下さい。 特に驚きに値するような事は何も起きていません。 僕のマシンで実行した結果はこちらです。(エビデンスが無いとの指摘を受け追記しました。) Json benchmark results 結構な長文になってしまいましたので、マニアな皆様だけが続きを読んで下さい。 課題設定について まず、おおまかな課題設定について説明します。 JMH を使った本格的なベンチマークを書く Java 用 JSON パーザのショーケースを作る事で使い易いもの
google/gson GsonでList<T>をデシリアライズするのがけっこう面倒くさくて、以下のようにしなければいけません*1。 Type collectionType = new TypeToken<Collection<Integer>>(){}.getType(); List<Integer> ints2 = gson.fromJson(json, collectionType); ところが、 List<T> を意味する Type 型を Class<List<T>> と Class<T> から作ることができればハックが不要になるはず!とおもって探したところ、かなりマジカルな方法ながらできるとのこと。 java - Gson TypeToken with dynamic ArrayList item type - Stack Overflow というわけで以下のようなユーティリティ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く