热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Erlang消息传递大型二进制文件,优化性能建议

如何解决《Erlang消息传递大型二进制文件,优化性能建议》经验,为你挑选了1个好方法。

好的,这是我今天一直在考虑的问题(如果我手头没有得到答案,我将在下周测试).

我有许多Erlang进程,我需要传递大型二进制文件.我一直在做的是使用gproc:send来定位并将二进制文件发送到适当的进程.但是,我不是只发送一个二进制文件,我通常发送一个元组,如"{self(),atom,Msg\binary}".起初我认为这足以满足大型二进制文件的消息处理要求,以避免内存复制操作.

8.2处理消息

Erlang进程之间的消息中的所有数据都被复制,但同一个Erlang节点上的refc二进制文件除外.

来自:Erlang效率指南

然而,现在我开始怀疑,如果消息处理器/编译器/等会理解那里有> 64k二进制文件?或者它会看到元组,只是想想,让我们将整个事情复制到另一个过程中?就像我指出的那样,我计划下周进行测试,看看,我很乐意用我的发现更新帖子.

我正在使用R16B03-1.

谢谢!



1> Steve Vinosk..:

大小大于或等于64字节的二进制文件存储在共享区域中并被引用计数,因此它们不会在进程之间复制; 只复制对它们的引用.


推荐阅读
  • CentOS7 安装RabbitMQ
    1安装编译工具yuminstall-ymakegccgcc-c++m4opensslopenssl-develncurses-develunixODBCunixODBC-devel ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • C语言中全部可用的数学函数有哪些?2.longlabs(longn);求长整型数的绝对值。3.doublefabs(doublex);求实数的绝对值。4.doublefloor(d ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 使用Java 1.8 编译兼容1.6 JVM 的Class文件
    本文探讨了如何使用Java 1.8 编译器生成能够在1.6 JVM 上运行的Class文件,并介绍了Spring框架中的相关配置。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • .Net下RabbitMQ发布订阅模式实践
    一、概念AMQP,即AdvancedMessageQueuingProtocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的 ... [详细]
author-avatar
mobiledu2502916813
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有