• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tanxnative
V2EX  ›  程序员

同一主机,如何减少进程间传递数据的序列化和反序列化?

  •  
  •   tanxnative · Sep 19, 2023 · 2313 views
    This topic created in 1142 days ago, the information mentioned may be changed or developed.

    如题,在系统中,多个进程协同处理数据,同一机器中,进程间传递数据如何减少序列化和反序列化?

    6 replies  •  2023-09-20 09:36:32 +08:00
    AoEiuV020JP
    AoEiuV020JP
    Sep 19, 2023
    1
    除了减少进程多用线程感觉没有其他方法了,跨进程任何通信都得序列化,只能减少通信次数和内容量,
    TomVista
    TomVista
    Sep 19, 2023
    2
    减弱数据格式.
    lDqe4OE6iOEUQNM7
    lDqe4OE6iOEUQNM7
    Sep 19, 2023
    3
    用共享内存技术,内存队列,共享数据结构
    sujin190
    sujin190
    Sep 19, 2023 via Android
    4
    分配共享内存,使用 c 直接在共享内存分配 struct ,其他高级语言得话加载 c 模块调用,估计应该是最快的了吧
    bianhui
    bianhui
    Sep 20, 2023
    5
    @sujin190 那不是增加了高级语言与 c 模块之间的类型转化吗,而且如果读写频繁,转化次数更多,可能比其语言自己共享内存的方法更慢。
    sujin190
    sujin190
    Sep 20, 2023
    6
    @bianhui #5 似乎 java 、python 这样的高级语言都并不能直接在共享内存分配对象实例吧,所以所谓共享内存要么只能放数字之类的简单对象,复杂对象还是要序列化和反序列化通过共享内存在不同进程间同步的,而且大部分高级语言加载 C 扩展的时候并没有说你一定要转换为自身的类型才能参与逻辑算法吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5132 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:18 · PVG 09:18 · LAX 17:18 · JFK 20:18
    ♥ Do have faith in what you're doing.