小编Rob*_*mba的帖子

erlang - 发送大消息性能

假设我在erlang应用程序中创建了新的本地进程,我想向它发送一条重要消息.

-module(chain_hello). 

start(N, Some_big_data)->                                    
   Pid1 = spawn(chain_hello, some_fun, [N]),
   Pid1 ! Some_big_data,
   io:format("done \n").
Run Code Online (Sandbox Code Playgroud)

尽管Some_big_data是对真正大数据的引用(例如文件的内容) - 它在发送时是否被复制?对性能有很大的惩罚吗?

通常我会使用一些线程安全的共享对象(和/或互斥).Erlang中是否有任何解决方案可以避免复制邮件内容?

增加:
有趣的情况是Some_big_data是结构化内容 - 具体:map,我可以在其上执行某些操作.

ADDED2
好的,我看到Erlang没有这样的解决方案(剪切一些结构化数据,比如工作流程中的map) - 因为Erlang设计.但我认为通过扎实的工作和轻松的并发管理是合理的.

erlang

3
推荐指数
1
解决办法
2057
查看次数

泛型中奇怪的嵌套结构类型

有人可以解释嵌套在泛型中的结构类型的奇怪结构:

implicit def Function1Functor[R]: Functor[({type ?[?]=(R) => ?})#?] = 
  new Functor[({type ?[?]=(R) => ?})#?] ....
Run Code Online (Sandbox Code Playgroud)

此示例来自Scalaz库:Functor.scala

为什么需要这种结构呢?写起来并不简单:

 implicit def Function1Functor[R,A]: Functor[R =>A]
Run Code Online (Sandbox Code Playgroud)

要么

 implicit def Function1Functor[R,A]: Functor[Function1[R,A]]
Run Code Online (Sandbox Code Playgroud)

scala structural-typing scalaz

3
推荐指数
1
解决办法
274
查看次数

为什么emacs会将PageDown(<next>)键与M- [?

我在标准的emacs-nox和emacs-gtk中找到了很大的区别.我知道emacs控制台版本(emacs-nox)有些键有问题(例如Shift-Tab - ),但是没有PageDown.

当我有空的.emacs文件,并尝试识别由PageDown键运行的命令名(由Ch c)时,emacs-nox emacs-gtk正常工作 - 推送PageDown进行向上滚动,并且Ch c PageDown打印在迷你缓冲区中向上滚动.

当我尝试绑定"M- ["键时出现问题.在.emacs我只有一个声明:

(global-set-key (kbd "M-[") 'hippie-expand)
Run Code Online (Sandbox Code Playgroud)

emacs-nox无法识别按键运行的命令名称 - 当Ch c PageDown,insted wriets缓冲"~6"时,它不会在迷你缓冲区中打印.当我尝试Chk PageDown时,我得到:M- [运行命令hippie-expand

emacs-gtk工作正常 - 推送PageDown进行向上滚动,Chc PageDown打印向上滚动迷你缓冲区.

所以我想emacs nox将PageDown视为M- [并添加额外的东西.

知道如何在emacs-nox中解决这个问题吗?

我使用emacs v23.2

编辑:

我测试了其他案例:在.emacs我只有:(global-set-key(kbd"")'hippie-expand)和Ch c PageDown和Ch k PageDown都能正常工作(打印嬉皮 - 扩展),以及何时在缓冲区我推PageDown也很好用.

emacs

2
推荐指数
1
解决办法
1189
查看次数

如何在lua中声明一个包含X元素的数组

有没有办法在不使用的情况下为大数组声明和保留空间table.insert?像Python中的东西:

a = [0]*10000
Run Code Online (Sandbox Code Playgroud)

或在C:

malloc(10000*sizeof(int))
Run Code Online (Sandbox Code Playgroud)

lua lua-table

1
推荐指数
1
解决办法
2357
查看次数

标签 统计

emacs ×1

erlang ×1

lua ×1

lua-table ×1

scala ×1

scalaz ×1

structural-typing ×1