从C#发送长字符串到Python的最快方式

问题描述:

我有一串长长的数据流连续传输,它是由我的C#脚本生成的。我想用它作为Python机器学习模型的输入。从C#发送长字符串到Python的最快方式

什么是最快的&实现这种传输最简单的方法?

我已经发现了一些可能的选项:

  1. 使用套接字。
  2. 使用http。
  3. 写数据到从C#的文件,并且从读取的Python
  4. 数据的文件作为参数,而Python运行在C#或过程

  5. 不同的东西?

+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等数据库 –

前提是这些过程在同一台机器上运行,我认为处理过程memory mapping之间的数据的大块时,要走的路。

在其他情况下,TCP/UDP套接字是因为它们不具备应用层,它,HTTP例如开销一个不错的选择,有

+0

数据是一个包含256个数字的字符串,对于更大的数据来说,内存映射似乎是一个不错的选择。这只是我的印象,任何想法? – tourist

+0

256个字符是aprox。 2KB,所以mmap可能是一个矫枉过正的问题。什么是C#进程输出速率? –

+0

我的采样率是400赫兹在C#脚本 – tourist

我建议选择6使用像SQLite数据库。

使用这个选项获得:

  • 无论在线运行
  • 的Python在数据库中设置标志,以这些记录时,他们处理。
  • 如果python关闭,您可以完成操作,并继续处理数据。
  • 您可以将python的结果添加到数据库中。
  • 您在数据库中有历史记录,可能需要后者才能进行后期处理。