我有一个五个嵌套的for循环函数(通过3d滤镜对图像进行卷积),我非常需要加速并使用numba的@autojit装饰器非常愉快。我唯一的抱怨是当第一次调用该函数时,numba执行其autojit但打印出我认为jitted函数的内部表示到标准输出可能需要几秒钟才能滚动,即这样的东西:< / p>
empty1: ; preds = %empty
%16 = call i32 inttoptr (i64 139980888423164 to i32 ({ i64, i8* }*)*)({ i64, i8* }* %10)
br label %empty3
empty2: ; preds = %empty
br label %error_label
empty3: ; preds = %empty1
%17 = call i8* @PyErr_Occurred()
%18 = ptrtoint i8* %17 to i64
%19 = icmp ne i64 %18, 0
br i1 %19, label %empty5, label %empty4
empty4: ; preds = %empty3
%20 = call { i64, i8* }* @__numba_specialized_2___main___2E_max_pool({ i64, i8*, i8*, i32, i64*, i64*, i8*, i8*, i32, i8* }* %11, i32 %12, i32 %16)
store { i64, i8* }* %20, { i64, i8* }** %objtemp, !tbaa !6
%21 = ptrtoint { i64, i8* }* %20 to i64
%22 = icmp eq i64 %21, 0
br i1 %22, label %error_label, label %no_error
empty5: ; preds = %empty3
br label %error_label
no_error: ; preds = %empty4
%23 = load { i64, i8* }** %objtemp, !tbaa !6
store { i64, i8* }* %23, { i64, i8* }** %return_value
%24 = load { i64, i8* }** %return_value, !tbaa !6
call void @Py_XINCREF({ i64, i8* }* %24)
br label %cleanup_label
}
!tbaa = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !0, !1, !6, !0, !1, !2, !3, !4, !5, !6, !24, !12, !7, !13, !14, !15, !16, !17, !25, !0, !1, !6}
有谁知道如何禁用此功能?它运行正常,速度快,并且不会抛出错误,但它有点烦人。