目的
评测调用外部程序的Erlang Port效率和内链的Erlang Port Driver效率。
方法
使用相同的C函数库,接口方面使用Port和Port Driver两种形式,分别组织对应的Erlang端封装程序。循环调用C库中最简单的*2函数10w次,测量总花费时间。
评测结果
Erlang Port程序总耗时5500ms,Erlang Port Driver程序总耗时356ms,因此在调用相同功能的外部库时Port形式的开销是Port Driver形式的1545%。
评测程序
公用C函数库
见附件中的 libx.c.zip。
Erlang Port形式C封装程序
见附件中的 example1.c.zip。
Erlang Port形式Erlang端程序
见附件中的 example1.erl.zip。
Erlang Port Driver形式C封装程序
见附件中的 example1_lid.c.zip。
Erlang Port Driver形式Erlang端程序
见附件中的 example1_lid.erl.zip。