gpt4 book ai didi

javascript - 我想加快 Nashorn 的评估速度

转载 作者:行者123 更新时间:2023-11-30 07:47:10 25 4
gpt4 key购买 nike

我被允许运行 zxcvbn.js (Javascript library)到纳肖恩。但有一个问题。

eval(预编译)非常慢。大约需要3分钟。我想 Action 更快。

public class StrengthChecker {

private static final String ZXCVBN_PATH = "/META-INF/resources/webjars/zxcvbn/1.0/zxcvbn.js";

private final ScriptEngine engine;

public StrengthChecker() {
ScriptEngineManager manager = new ScriptEngineManager();
engine = manager.getEngineByName("nashorn");

Bindings engineScope = engine.getBindings(ScriptContext.ENGINE_SCOPE);
engineScope.put("window", engineScope);

try {

// -------------------------------------------
// Here is very slow definition of zxcvbn.js.
// -------------------------------------------
engine.eval(getResourceContents(ZXCVBN_PATH));

} catch (ScriptException e) {
throw new RuntimeException(e);
}
}

public Strength check(String pw) {
try {
Map<String, Object> result;
result = (Map<String, Object>) engine.eval("zxcvbn('" + pw + "');");

return new Strength(
((Double) result.get("entropy")).intValue(),
(int) result.get("score"),
((Double) result.get("crack_time")).intValue()
);
} catch (ScriptException e) {
throw new RuntimeException(e);
}
}

}

请告诉我们一些解决方案。

最佳答案

这是一个已知的性能错误,已修复,请参阅 https://bugs.openjdk.java.net/browse/JDK-8137333 。它应该与 Java 8u72 一起发布,预计于 2016 年 1 月发布。Java 9 的预发布版本可在 https://jdk9.java.net/download/ 获取。还包含修复程序(自 JDK9 构建 b85 起)。

关于javascript - 我想加快 Nashorn 的评估速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33753732/

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