- 浏览: 28282 次
- 性别:
- 来自: 广州
最新评论
fun这么好用。为什么老大在最近都说不要用?
这2个有什么区别?为什么要改?
fun() ->end
erlang efficiency guide第一个原则就是说:
本地调用>=跨模块调用> fun() ->apply/3
http://www.erlang.org/doc/efficiency_guide/myths.html#id61433
http://www.cnblogs.com/me-sa/archive/2012/05/06/erlang-function-call-efficiency.html
当然由于版本的更新,效率差距估计不会这么大。但是
本地调用>=跨模块调用> fun() ->apply/3 这个是确定的。
所以最近游戏在优化广播发包时把广播由fun() ->end 改为Mod:Fun(Arg)是非常好一种尝试。
gen:call(PID,{func,fun() ->broadcast_to_whole_map(Record) end}). handle_call({func,F},_From,State) -> Reply = F(), {reply, Reply, State}.
gen:call(PID,{server_module,broadcast_to_whole_map,[Record]}). handle_call({server_module,broadcast_to_whole_map,[Record]},_From,State) -> Reply = server_module:broadcast_to_whole_map(Record) , {reply,Reply,State}.
这2个有什么区别?为什么要改?
fun() ->end
erlang efficiency guide第一个原则就是说:
本地调用>=跨模块调用> fun() ->apply/3
http://www.erlang.org/doc/efficiency_guide/myths.html#id61433
引用
2.1 Myth: Funs are slowYes, funs used to be slow. Very slow. Slower than apply/3. Originally, funs were implemented using nothing more than compiler trickery, ordinary tuples, apply/3, and a great deal of ingenuity.
But that is ancient history. Funs was given its own data type in the R6B release and was further optimized in the R7B release. Now the cost for a fun call falls roughly between the cost for a call to local function and apply/3.
But that is ancient history. Funs was given its own data type in the R6B release and was further optimized in the R7B release. Now the cost for a fun call falls roughly between the cost for a call to local function and apply/3.
http://www.cnblogs.com/me-sa/archive/2012/05/06/erlang-function-call-efficiency.html
当然由于版本的更新,效率差距估计不会这么大。但是
本地调用>=跨模块调用> fun() ->apply/3 这个是确定的。
所以最近游戏在优化广播发包时把广播由fun() ->end 改为Mod:Fun(Arg)是非常好一种尝试。
发表评论
-
Erlang 简单的节点互连
2014-03-19 23:41 541自己写的游戏跨服初步构架,以后再一点点完善,先记下时间线哈。 ... -
简单erlang节点互连实验
2014-03-10 15:53 751如果erlang:节点test1,test2互连接: 1.节点 ... -
Erlang OTP gen_event (1)
2014-02-26 15:06 1054演示gen_event的运行过程: mod_event_ma ... -
Erlang OTP gen_event (0)
2014-02-26 14:30 1181原英文文档:http://www.erlang.org/erl ... -
erlang efficient guide 3
2013-08-19 22:19 1102* 3 Common Caveats * 3常见 ... -
erlang efficient guide 2
2013-08-18 01:02 8562 The Eight Myths of Erlang Per ... -
emacs 的erlang-flymake
2013-08-14 15:15 1456emacs 设置erlang-flymake erlang- ... -
erlang ets
2013-07-22 23:08 1836参见:http://www.cnblogs.com ... -
erlang的编程规范
2013-03-26 17:17 1937Programming Rules and Conventio ... -
Erlang------Mnesia
2013-03-25 12:49 1697读erlang编程指南Mnesia笔记: 1.mnesia 是 ... -
进程环
2013-03-18 16:48 812编写一个程序,它生成N ... -
匿名函数fun
2012-12-15 16:12 805lists:map(fun/1,[1,2,3]). 小试匿名函 ... -
并发编程实战otp--open telecom platform 二
2012-10-10 23:17 1140第二章:Erlang语言精要。 shell 的启动参数h ... -
并发编程实战otp--open telecom platform 一
2012-10-10 23:16 11971.erlang 的进程模型: 并发的基本单位是进程, ... -
learn some erlang
2012-10-09 22:54 710Erlang has this very pragm ... -
erlang语句块的简洁使用
2012-09-25 22:48 668begin end语句块的简洁使用:问题描述:将一堆人 ... -
命令式编程语言的标杆
2012-09-25 09:47 681命令式编程语言的标杆: 1.进程必须是语言的核心; 2.任何进 ... -
emacs与erlang的完美结合
2012-09-23 22:48 12781.在emacs中使用c+x c+z 启动erlang she ...
相关推荐
"Fun.zip_Fun_ Fun_ Fun_机动路径规划"这个压缩包文件显然聚焦于路径规划的实践应用,尤其是针对机动目标的路径设计。以下是关于路径规划、随机梯度算法、相对梯度算法以及轨道机动仿真的详细介绍: 1. **路径规划*...
### FUN3D手册,非结构求解器的编译过程及其后处理 #### 1. 概述 FUN3D是一款先进的非结构网格CFD(计算流体力学)求解程序,适用于二维和三维的各种构型,支持定常与非定常流体问题的数值模拟。该软件使用有限...
fun转fun转fun转换fun转换fun转换fun转换fun转换fun转换fun转换fun转换
"fun-question.rar_Fun_ Fun_ Fun"这个文件标题暗示着它可能包含了一些有趣的、挑战性的题目或者谜题,很可能是为了娱乐或者锻炼思维而设计的。描述中的多个感叹号进一步强调了这些趣题的独特性和吸引力,它们可能...
至于压缩包内的唯一文件“Fun”,没有具体的扩展名,我们可以猜测这可能是一个可执行文件(.exe)、一个资源文件(如图片、音频或视频)、或者是一个包含了多个文件的目录。如果是一个可执行文件,那么它可能是实现...
【Coding4Fun控件】是专门为Windows Phone平台开发的一系列扩展控件库,它为开发者提供了许多超越原生Windows Phone SDK的功能和视觉效果,旨在增强应用程序的用户体验和交互性。这个库是由微软开发者社区成员创建并...
软件"FUN"的实现过程中,可能会涉及调整遗传算法的关键参数,如种群大小、交叉概率、变异概率以及迭代次数等,以达到最佳的优化效果。 值得注意的是,遗传算法的优势在于全局搜索能力和并行处理特性,尤其对于复杂...
标题中的"fun.zip_Fun_ Fun_ Fun"可能是指一个包含与编程娱乐相关的项目的压缩文件,其中"Fun"可能是项目的核心主题或者代表了一系列有趣、挑战性的编程任务。描述提到的是"1-20中所有和为20的组合,递归实现",这...
"ttt.zip_Fun_ Fun_ Fun"这一压缩包,显然为我们带来了一款充满趣味性的游戏——"Fun Noughts and Crosses",即我们熟知的"井字游戏"(Tic Tac Toe)。这款游戏简单易懂,但又不失策略性,适合各个年龄段的玩家,是...
"c_search_fun.rar_Fun_ Fun_ Fun"这个压缩包就是专为解决这一问题而设计的学习资源,旨在帮助初学者快速查找和理解C语言中的各种函数,从而享受编程的乐趣。 "Fun _fun _fun"的标签暗示了这份资料的趣味性和实用性...
标题中的"fun.rar_Fun_ Fun_ Fun_整人"是一个压缩文件的名称,暗示了其内容可能与娱乐和恶作剧相关。"rar"是常见的压缩文件格式,用于打包和压缩多个文件或文件夹,便于存储和传输。在这个特定的情况下,这个RAR文件...
标题“vc.zip_Fun_ Fun_ Fun”暗示我们关注的是一个与编程相关的项目,其中包含一个名为"fun"的函数。描述中提到的"fun"函数是一个编程任务,要求我们编写一个程序,找出1到100之间可以被7或11整除,但不能同时被7和...
"aaa.rar_Fun_ Fun_ Fun"这个标题可能是指一个压缩包,其中包含了一些与计算积分相关的程序或资源,而"Fun"可能是用于表示函数或者是这个压缩包中的某个关键部分的命名模式。 描述中提到的"函数返回值为积分结果,...
标题中的"fun.rar_Fun_ Fun_ Fun_PowerBuilder_his"表明这是一个关于PowerBuilder的函数库,可能包含了多个用于Health Information System(HIS)开发的函数。"Fun"在这里可能是对函数库的一种命名方式,也可能暗示...
《粒子群优化算法详解——基于"Fun Fun Fun"的探索》 在当今的优化领域,粒子群优化(Particle Swarm Optimization, PSO)算法以其独特的群体智能特性,成为了解决复杂优化问题的重要工具。"PSO.zip_Fun_ Fun_ Fun...
标题中的"fun.zip_Fun_ Fun_ Fun_供求关系_西瓜"揭示了这个压缩包文件的主题,它聚焦于“供求关系”这一经济概念,并以“西瓜”为具体案例进行阐述。供求关系是经济学中的基本原理,它决定了商品或服务的价格以及...
在MATLAB编程环境中,`structfun` 是一个非常实用的函数,它允许我们对结构数组的每个字段执行相同的操作。本教程重点讲解的是 `structfun2`,它扩展了 `structfun` 的功能,可以同时处理两个输入结构,并对它们的...
在标题"main-fun.rar_Fun_ Fun_ Fun_main-fun.c"中,`main-fun.c`可能是一个实现了多任务功能的C语言源代码文件,其重点在于"Fun",暗示了这个程序可能设计得既实用又有趣。 描述中提到的时间片轮转(Time-Slicing...
在这个名为"Fun.zip_Fun_ Fun_ Fun_UCGUI TEXT"的项目中,开发人员利用了UCGUI 3.90a版本,构建了一个具有互动性的图形用户界面,主要展示了如何使用TEXT和FRAMEWIN等窗口部件来实时显示XYZ轴的采样值。下面我们将...
"Linux-C-fun.zip_Fun_ Fun_ Fun"这个压缩包显然是针对对Linux系统编程感兴趣的开发者,特别是那些希望深入理解C语言在Linux环境中的应用的人群。 该压缩包的核心内容是"Linux C 函数.chm"文件,这通常是一个帮助...