2016-08-19 8 views
2

私はC#スクリプトによって生成された長いデータストリーミングを継続しています。私はそれをPython Machine Learningモデルの入力として使用したいと考えています。C#からPythonに長い文​​字列を送る最速の方法

この転送を実装する最も簡単な方法は、どれですか?&?

  1. 利用ソケット:

    私はいくつかの可能なオプションを発見しました。

  2. httpを使用してください。異なる
  3. のC#からファイルへ
  4. 書き込みデータは、ファイルを読み込むのPython
  5. から
  6. データを引数として、PythonはC#でプロセスとして実行されている間または

  7. 何か?これらのプロセスは、同じマシン上で実行することを提供

+0

同じホスト[メモリマップファイル](https://msdn.microsoft.com/en-us/library/dd997372(v=vs.110).aspx)にあると仮定すると、一方向またはPythonを使用すると、C#アプリケーションがCOMクライアントとして使用されます。 –

+0

C#とPythonはどちらも同じマシン上で実行されます。データは「長い」(256個の)文字列なので、[オプション4]は最高の最速オプションですか? – tourist

+0

6. SQLiteのようなデータベースを使用 –

答えて

0

、私はプロセスmemory mappingの間でデータの大きな塊を処理すると、移動するための方法であるときだと思います。彼らは例えば、HTTPアプリケーション層のオーバーヘッドを持っていないので、他のケースのTCP/UDPソケットに

は良いオプションです、私はsqliteのようなオプション6を使用するデータベースを示唆

+0

データは256個の数字を含む文字列です。メモリマッピングははるかに大きなデータのための良いオプションのようです。それはちょうど私の印象、あらゆる考えですか? – tourist

+0

256文字はaproxです。 2KBだからmmapは過度かもしれません。あなたのC#プロセスの出力レートは何ですか? –

+0

サンプルレートはC#スクリプトで400 Hzです – tourist

0

を持っています。あなたが得るこのオプションでは

:それらが処理するとき

  • どちらも実行しているオンライン
  • Pythonは、データベースにこれらのレコードにフラグを設定しました。
  • pythonがオフの場合は後者の操作を完了し、データの処理を続行できます。
  • pythonの結果をデータベースに追加できます。
  • データベースに履歴があり、後処理に後者が必要な場合があります。
関連する問題