解锁工具包:IPython 与第三方工具集成指南
1. 导入方式的讨论
在不使用 sync_imports 的情况下,将导入语句移到函数体内部也能实现相同的效果。这两种方法各有优缺点,具体如下表所示:
| 方法 | 优点 | 缺点 |
| — | — | — |
| sync_import | - 对环境进行集中控制
- 明确正在导入的模块
- 更易确定实际使用的库
- 便于重构 | - 导入位置与使用位置分离
- 即使只有部分引擎使用,也会将模块导入到每个引擎
- 违反 PEP08 风格指南
- 重复调用函数时效率较低 |
| 函数体导入 | - 导入位置与使用位置接近 | - 缺乏对环境的集中控制
- 难以确定实际使用的库
- 重构难度较大 |
这两种方法的冲突本质上是集中化与本地化的冲突。当系统复杂到需要配置时,这种冲突就会出现。没有一种方法适用于所有项目,最好的做法是选择一种方法并始终如一地使用,同时要注意该方法可能带来的问题。
2. LoadBalancedView 介绍
LoadBalancedView 使用调度器逐个执行作业,但不会阻塞。基本概念是, LoadBalancedView 可以被视为一个单一的引擎,不同的是,在提交下一个作业之前,无需等待当前引擎完成任务,可直接提交另一个作业。调度器负责确定每个作业的执行时间和位置。
对函数执行的影响如下:
- 对于
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



