开启左侧

请教关于halcon执行封装的自定义算子的时候

[复制链接]
李玉昕 发表于 2021-12-6 15:53:49 | 显示全部楼层 |阅读模式

图1和图2是同一个程序
图1是原程序 图2是将read_image以后的程序封装成名叫ttt的算子,在read_image之后调用它。两个程序完全一样,实现的结果也完全一样。
可是,为什么两者的执行时间会有这么大的差异,如图所示,图1中没有经过封装算子,所有程序都在main中运行,好多算子都是有很大的执行时间,但是图2封装在ttt中的程序,完全执行完了也一共才8.589ms

图1

图1

图2

图2
绝地武士 发表于 2021-12-6 21:15:23 | 显示全部楼层
原因在于脚本类型语言main里面的是单步解释执行,而封装成算子以后会调用脚本编译器进行预编译,速度大大提升,这也就是为啥进入算子内部for循环执行会非常慢,而在算子外部直接F6过去或者F5运行很快就结束了。可以参考一般属性中“高级用户”->即时(JIT)编译执行函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表