
lang/erlang
chuqingq
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
erlang:monitor/2使用范例
-module(test_monitor).-compile(export_all).test() -> P = spawn(fun() -> receive ok -> ok end end), erlang:monitor(process, P), P ! test, io:format("send tes...原创 2013-02-27 19:32:51 · 205 阅读 · 0 评论 -
fprof简例
P = list_to_pid("<0.375.0>"). fprof:trace([start, {procs, P}]).让fprof开始跟踪 运行需要跟踪的对象 fprof:trace(stop)停止跟踪 fprof:profile().处理跟踪过程 fprof:analyse({dest, "profile.txt"})...原创 2013-03-19 17:12:06 · 178 阅读 · 0 评论 -
Notepad++语法文件
http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files markdown https://github.com/thomsmits/markdown_npp 使用方法:http://blog.csdn.net/wayllenzhang/art...原创 2013-03-16 22:37:58 · 298 阅读 · 0 评论 -
ranch源码阅读
cowboy源码分析:http://www.cnblogs.com/poti/archive/2013/01/21/2870302.html 遗留问题: 1、supervisor: start_link,init -> {RestartStrategy, MaxR, MaxT, [ChildSpec]} start,terminate,delete,restar...原创 2013-03-10 20:15:13 · 163 阅读 · 0 评论 -
erlang rebar
1、eunithttps://github.com/basho/rebar/wiki/Getting-starteda、代码中增加eunitb、rebar compile eunit进行编译+单元测试c、在rebar.config中增加{cover_enabled, true},再rebar compile eunit,则生成myapp/.eunit/index.html覆盖度检查...原创 2012-07-15 15:46:57 · 192 阅读 · 0 评论 -
erlang对binary的优化
erlang binary: container 1 refc(reference-counted) binaries 1 ProcBin: link list, to garbage collect 2 binary object: outside all process heaps 2 heap binaries: up to 64B...原创 2012-07-07 16:09:13 · 103 阅读 · 0 评论 -
erlang绿化
主要是windows版本的绿化1、erlang依赖于vc运行时库例如5.9.1依赖于msvcr100.dll,需要把msvcr100.dll拷贝到下面2个目录:erl5.9.1\erts-5.9.1\binerl5.9.1\bin2、erl.exe可执行文件根据同目录下的erl.ini中设置的环境变量加载其他动态库,因此需要修改下面两个目录的erl.inierl5....原创 2012-10-21 17:13:05 · 293 阅读 · 0 评论 -
erlang单元测试
Including the EUnit header file-include("eunit/include/eunit.hrl").test/0, xxx_test(), xxx_test_()Writing simple test functionsUse exceptions to signal failuresUsing assert macros...2012-06-02 00:40:56 · 193 阅读 · 0 评论 -
erlang中通过debug_info还原源代码(转)
转自:http://www.phpx.com/index.php具体网址忘记了。。。源码:-module(a). -export([test/0]). test() -> io:format("source code.~n", []).带 debug_info 编译,并运行之。$ erlc +debug_info a.erl$ erl -s a test -s c q -nos...原创 2010-06-04 23:26:22 · 764 阅读 · 0 评论 -
erlang方便的打印调试信息
目前调试一个模块时比较麻烦,需要重新编译成调试版本,即增加DEBUG宏或debug_info等信息重新编译。 想要达到这种效果:想调试某个模块时直接调用test:debug()自动转换成调试模式,这样方便一点。即效果如下: Eshell V5.8.3 (abort with ^G)1> c(test).{ok,test}2> test:test(1)....原创 2012-04-06 23:28:00 · 542 阅读 · 0 评论 -
erlang的痛
erlang的fail fast,是好是坏???自己使用的过程中,总觉得不是特别稳定。 erlang进程之错 http://erlangdisplay.iteye.com/blog/433843提了3种方案:1、复制进程,2、提升优先级,3、分node 第一种方案详细说明:创建gen_server组解决单process瓶颈 http://erlangdisplay.itey...原创 2012-08-04 22:31:55 · 185 阅读 · 0 评论 -
eprof简例
-module(test_eprof).-compile(export_all).test_tc() -> timer:tc(?MODULE, test1, [99999999]).test1(0) ->ok;test1(N) -> test1(N-1).test_eprof() -> eprof:star...原创 2013-02-27 19:31:26 · 281 阅读 · 0 评论 -
测试过程中:内存爆掉,从crashdump中看processes类占用最多,但每个进程内存都不高...
内存爆掉,crashdump:General Information HelpSlogan eheap_alloc: Cannot allocate 26550341040 bytes of memory (of type "heap").Node name 'loadgen_huawei7879@f3s13'Crashdump created on ...原创 2012-09-07 18:44:56 · 479 阅读 · 0 评论 -
lists:keyfind优于proplists:get_value
测试结果见:http://www.ostinelli.net/erlang-listskeyfind-or-proplistsget_value/ lists:keyfind是BIF,proplists:get_value的PropLists元素个数有限制。 listserv:keysearch也是BIF,但是兼容版本,不如lists:keyfind方便。 结论:使用...原创 2012-12-09 13:23:33 · 196 阅读 · 0 评论 -
HTTP请求的消息体长度
1、Transfer-Encoding = chunked2、Content-Length = integer()3、undefined | 0mochiweb_request.erl %% @spec body_length() -> undefined | chunked | unknown_transfer_encoding | integer()%% @doc I...原创 2012-08-19 00:19:25 · 742 阅读 · 0 评论 -
mochiweb
看mochiweb的代码,感觉很绕,纳闷为什么不搞成清晰的recv、send,搞了一堆回调。。。 http://www.iteye.com/topic/348379http://www.pagefault.info/?p=395 Req:ok() mochiweb_request:ok() mochiweb_request:respond(): ...原创 2012-08-13 23:33:27 · 133 阅读 · 0 评论 -
erlang的参数化模块
-module(my_test, [A]).-export([test/0]).test() -> io:format("~p, ~p~n", [A, THIS]). 13> A = my_test:new(1).{my_test,1}14> {my_test,1}:test().1, {my_test,1}ok15>...原创 2012-08-13 23:24:14 · 172 阅读 · 0 评论 -
xmerl的使用
1、感觉比较复杂使用的都是#xmlElement{}等结构表示,不太直观。看了erlsom的DOM例子之后感觉很清爽:http://www.cnblogs.com/me-sa/archive/2012/07/20/erlang_xml.html 9> erlsom:simple_form(Xml).{ok,{"shopping",[], [{"item",...原创 2012-08-08 22:44:52 · 257 阅读 · 0 评论 -
rebar的问题
rebar的问题 1、如果管理LoadGen、SimpleGen、HTTP、XMPP等多个application间的关系2、如何制作成一个独立的节点/rel?https://github.com/basho/rebar/wiki/Release-handlingreltool.config这几个app分开使用rebar管理;针对LoadGen/SimpleGen管...原创 2012-08-05 16:25:48 · 196 阅读 · 0 评论 -
erlang white paper(未完)
http://www.erlang.org/white_paper.html 第一部分,遗留问题:1、process,2、message passing,bang -> erts_send_message 分配了一个ErlMessage 放在进程中的msg_inq(ErlMessageInQueue)中;3、error detection primitives(mo...原创 2010-01-31 22:17:46 · 124 阅读 · 0 评论 -
emacs erlang-mode/distel
新建环境变量HOME,其下保存文件.emacs,内容如下;; erlang mode(setq load-path (cons "D:/Program Files/erl5.7.1/lib/tools-2.6.4/emacs" load-path))(setq erlang-root-dir "D:/Program Files/erl5.7.1/")(setq exec-path (co...2009-08-23 12:14:45 · 146 阅读 · 0 评论 -
mochiweb
http://www.iteye.com/topic/348379http://www.iteye.com/articles/27原创 2010-07-19 21:58:04 · 102 阅读 · 0 评论 -
erlang中字符编码转换
功能说明:erlang中对各种语言的编码支持不足,此代码是使用erlang驱动了著名的iconv编码库来对字符进行编码转换处理。文件说明:iconv_erl.c和iconv.h是erlang字符编码模块的driver,作用是对iconv进行封装。编译后生成iconv_erl.dll,供iconv.erl使用。iconv_makefile.win32windows上编...2010-03-19 09:35:55 · 288 阅读 · 0 评论 -
erlang中Supervision Trees和port的使用
转载2010-03-19 09:34:54 · 202 阅读 · 0 评论 -
解决EADDRINUSE方法之一:修改操作系统设置
对于Windows:TcpTimedWait.reg: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]"TcpTimedWaitDelay"=dword:0000001e"MaxUserPort"...2010-03-19 08:58:30 · 276 阅读 · 0 评论 -
erlang 性能分析工具
1、etop显示erlang进程信息的工具,类似于unix下的top :进程被调度的时间,进程被执行的reductions,进程所占的memory,进程消息队列长度 :运行时可以配置lines、interval、accumulate、sort :可以打印到文件 要显示进程名,需要在启动进程时加一个别名 2、pman查看本地或远端节点的进程。主要...2009-11-24 23:40:56 · 193 阅读 · 0 评论 -
erlang性能统计
1 、etop和getop\erl5.7.2\lib\observer-0.9.8.1\priv\bin\需设置node,etop.bat –node nodename@domain统计项有:Load: cpu procs runqMemory: total binary processes code atom etsPID (进程名或初始函数) Time(us) Reds Memory MsgQ...2009-10-28 10:04:05 · 209 阅读 · 0 评论 -
erl_eval:exprs
1、erl_scan:string(String) -> erl_parse:parse_exprs(Ts) -> erl_eval:exprs(Expr, []) 2、io:parse_erl_exprs(Prompt, StartLine) -> erl_eval:exprs(Expr, [])2009-10-20 08:51:47 · 306 阅读 · 0 评论 -
bif lists_reverse_2
lists_reverse_2代码:熟悉list的操作,例如is_nil(list)is_not_list(list)list_val(list) 返回Eterm*make_list(Eterm* hp) 返回Eterm listCAR(Eterm*)CDR(Eterm*)CONS(Eterm* hp, Eterm* car, Eterm* cdr) 进程堆的操作:HEAP_T...2009-10-15 08:06:38 · 88 阅读 · 0 评论 -
写自己的bif
http://mryufeng.iteye.com/blog/434167原创 2009-10-12 22:56:06 · 87 阅读 · 0 评论 -
erlang中代码依赖检查
xref:m/12010-03-23 17:23:36 · 218 阅读 · 0 评论 -
erlang IDE erlide
1、eclipse classic 3.5http://www.eclipse.org/downloads/ 2、erlide:下载、安装:http://erlide.sourceforge.net/或者在线更新:http://erlide.sourceforge.net/update 3、配置erlide:a、设置erlang runtimeWindow -&...2010-03-26 14:18:57 · 126 阅读 · 0 评论 -
erlang的参数化模块(转)
http://www.iteye.com/topic/348379原创 2010-07-19 21:56:06 · 172 阅读 · 0 评论 -
couchdb wiki
http://wiki.apache.org/couchdb/FrontPage http://www.iteye.com/wiki/erlang/1404-couchdb-understand-1-characteristics-and-the-implement http://erlang-china.org/study/couchdb-guide.html原创 2010-07-18 00:12:34 · 99 阅读 · 0 评论 -
beam_bif_load:load_module_2
在beam_bif_load.c中Etermload_module_2(BIF_ALIST_2){ Eterm reason; Eterm* hp; int i; int sz; byte* code; int trace_pattern_is_on; Binary *match_sp...2009-08-15 15:31:14 · 441 阅读 · 0 评论 -
hash/index/atom
1. Hash.c/hash.htypedef struct hash{ HashFunctions fun; /* Function block */ int is_allocated; /* 0 iff hash structure is on stack or is static */ ErtsAlcType_t type; ch...2009-08-11 23:46:55 · 137 阅读 · 0 评论 -
ejabberd中使用expat代替xmerl
ejabberd中使用expat代替xmerl ejabberd中使用expat代替xmerl ejabberd中使用expat代替xmerl2009-08-10 23:46:07 · 107 阅读 · 0 评论 -
tsung_win_recorder.bat
set INSTALL_DIR=D:\tsung_install\lib\erlangset ERL="C:\Program Files\erl5.6.3\bin\erl.exe"set MAIN_DIR=D:/tsung_install/_tsungset LOG_DIR=%MAIN_DIR%/logset LOG_OPT=log_file "%LOG_DIR%/tsung.lo...2009-08-10 23:39:54 · 100 阅读 · 0 评论 -
erlang动态编译
根据ejabberd_logger.erl中的动态编译方法,使用R13的file_io_server.erl模块,可以对erlang的代码进行动态编译。把erlang中的file_io_server.erl拷出来,重命名成ram_file_io_server.erl,然后把其中的prim_file改为ram_file(也是erlang中的一个文件),然后编译通过。ejabberd中...2009-08-10 23:37:14 · 130 阅读 · 0 评论 -
Efficiency Guide
Efficiency Guide:http://www.erlang.org/doc/efficiency_guide/part_frame.html!!!!!!Processetop:start()/config()/dump()Profiling:fprof/timer:tc()/statistic()原创 2010-01-14 09:05:27 · 105 阅读 · 0 评论