JavaScript对象的大小是否受(GWT)基类中方法数量的影响?

时间:2013-12-12 11:40:55

标签: javascript gwt memory

我目前正在设计一些最终将在GWT中使用的API,我想知道Java类中的方法的数量是否会影响JavaScript中单个Object实例的大小,在使用GWT编译Java代码之后。

换句话说,如果我有一个带有200个方法的抽象基类,然后是覆盖其中2个的子类,那么这200个方法的“成本”(内存使用)是否会为应用程序支付一次,或每个子类实例

在Java中,方法的数量不会影响对象大小,但我不知道它在JavaScript中是如何工作的。

“200”号来自试图解决GWT中缺乏反射的问题,但即使有办法得到“假反思”,我仍然对答案感兴趣。

1 个答案:

答案 0 :(得分:1)

对于这类问题,Stackoverflow上没有一个能够击败你自己实验的答案:

编写一个包含200个方法的类,然后编写一个对其进行子类化并覆盖2个方法的类。比较JS代码大小以获得基本想法(尽管这与实例大小不同)。使用Compile Report可以更好地理解。然后尝试使用style PRETTY or DETAILED进行编译,在编辑器中打开结果,并验证生成的代码是否重用方法。 (也许也可以在OBFUSCATED模式下尝试一下)。

或者,实例化大量对象,并检查内存使用情况(多个浏览器提供工具,例如https://developers.google.com/chrome-developer-tools/docs/javascript-memory-profiling

通常,确保你的方法完全被调用 - 否则,编译器会优化它们。