3

Windows Mobile 7から移行するプロジェクトでWindows Phone 7で使用する高速バイナリシリアル化フレームワークを探しています Protobuf-netはWM6.5でうまくいきますが、それはまだWP7の主要な時間から遠いので、私は誰もが平均的な良い選択肢を知っているのだろうかと思っていた。Windows Phone 7用の高速で包括的なバイナリシリアル化フレームワーク

カスタムタイプ、カスタムタイプの配列、カスタムタイプのコレクション、組み込みタイプ、フレームワーク内のシリアライズ可能なタイプなど、幅広いタイプのシリアライズをサポートするフレームワークが必要です。

私はカップルを見つけましたが、DataContractSerializationよりはるかに高速です(しかし、もっとコンパクトです)。私はこれまで試してみました:

マイク・タルボットのSilverlightシリアライザ:Silverlightのhttp://whydoidoit.com/silverlight-serializer/

Altキーシリアライザ:http://slserializelzo.codeplex.com/

Altキーのパフォーマンスは優れているが、反射に大きく依存しており、その完全なフレームワークのようなシリアライザをコンパイルされていませんがどちらも比較的複雑なタイプの私の最初の基本テストに合格しました。

私が試すことができる他のシリアライズフレームワークはありますか?私は彼らのパフォーマンスを測定し、私の発見を分かち合うことができます。

+2

ここをクリックしてくださいhttp://stackoverflow.com/questions/4717389/storing-a-large-list-in-isolatedstorage-on-wp7/4719774#4719774 –

+2

ここでkeyboardPのソリューションをチェックしてください:http://stackoverflow.com/questions/6627898 /最速ウェイロードデータ。それはテストを含むWP7のシリアル化メソッドの比較にリンクします –

+0

ありがとうございます。私はSharpSerializerを知らなかった。互換性のために私の最初のテストに合格しました。非常に包括的だが非常に遅いようだ。テストのために、単純なカスタムタイプの配列を実行しましたが、XmlSerializerよりも遅かったです。しかし、それは非常に小さな出力を持っています。私はAltSerializer(3倍速く見える)がSharpSerializerの例で複雑な型を扱えるかどうかを確認する必要があります。 – cloudraven

答えて

1

Json.NET(http://json.codeplex.com)とスターリングデータベース(http://www.sterlingdatabase.com/)の両方に大きなプラス。どちらも無料です。

1

Googleのプロトコルバッファの.NET実装であるMarc Garvellのprotobuf-netは非常に高速です。パフォーマンスが優先されているかどうかチェックすることをおすすめします。

+0

それは本当です。問題はまだWP7ではそれほどうまくいきません。しかし、実際に私がそれを動作させるために時間をかけて考えている他のすべてのオプションのパフォーマンスを与えられました。 – cloudraven

2

ネイティブコードコーリングと同様のパフォーマンスを提供する汎用代理人を使用して、SilverlightSerializerのパフォーマンスを大幅に向上させました。テストハーネスのパフォーマンスが61%向上しました。詳細はhereです。

+0

ニース、ありがとう!私はそれをチェックすることを確認します – cloudraven

関連する問題