Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 为什么对binary:replace使用编译模式?_Performance_Erlang - Fatal编程技术网

Performance 为什么对binary:replace使用编译模式?

Performance 为什么对binary:replace使用编译模式?,performance,erlang,Performance,Erlang,是否有任何文档说明了为什么应该使用compile\u模式/1结果作为要搜索的binary:replace/4模式 我怀疑这是出于性能原因,但我找不到任何官方的声明。我也不知道有任何文档明确说明了这一点,但是的,这是出于性能原因。如果将未编译的模式传递给binary模块中的调用,则它们将编译该模式,然后使用它。这意味着对于一次使用,首先编译并不重要,因为调用无论如何都会编译它。但是,如果您使用同一模式执行多个匹配或替换,那么最好先编译一次,然后将编译后的模式传递给每个调用。正如我所怀疑的:原因是什

是否有任何文档说明了为什么应该使用
compile\u模式/1
结果作为要搜索的
binary:replace/4
模式


我怀疑这是出于性能原因,但我找不到任何官方的声明。

我也不知道有任何文档明确说明了这一点,但是的,这是出于性能原因。如果将未编译的模式传递给
binary
模块中的调用,则它们将编译该模式,然后使用它。这意味着对于一次使用,首先编译并不重要,因为调用无论如何都会编译它。但是,如果您使用同一模式执行多个匹配或替换,那么最好先编译一次,然后将编译后的模式传递给每个调用。

正如我所怀疑的:原因是什么。谢谢