gpt4 book ai didi

java - 如何动态添加一个hook而不需要太多的开销?

转载 作者:行者123 更新时间:2023-12-02 09:11:28 25 4
gpt4 key购买 nike

假设我有一个像这样的 processElement 函数:

class InputProcessor {
public void processElement(T element) {
nextOperator.processElement(element);
}
}

现在我想添加一个开/关开关来对“开关打开”期间的元素进行计数。但是我不想添加这样的“if else”,因为它可能会降低性能。

class InputProcessor {
public void processElement(T element) {
if (on) {
count++;
}
nextOperator.processElement(element);
}
}

有什么方法可以帮助实现这一点吗?我有一个想法,但我不确定它是否按预期工作(不会降低性能)。我将创建一个 CountInputProcessor,就像 InputProcessor 一样,除了计数部分。

class CountInputProcessor {
public void processElement(T element) {
count++;
nextOperator.processElement(element);
}
}

当我打开该功能时,我重新定义了运算符(InputProcessor 是无状态的)。

inputProcessor = new CountInputProcessor();
inputProcessor.processElement(element);

当我关闭该功能时,我将其重新定义为旧的InputProcessor

最佳答案

我不担心性能受到影响。只需确保拓扑正确运行,如果它没有按您希望的方式扩展,则执行常规调整操作,例如增加运算符的并行度。

关于java - 如何动态添加一个hook而不需要太多的开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59392886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com