GWT收集性能和推荐做法

GWT收集性能和推荐做法,gwt,collections,guava,Gwt,Collections,Guava,在GWT中使用集合的最佳方式和/或推荐做法是什么,特别是在寻求性能的情况下 到目前为止,我发现的选项有: JRE模拟的集合。最 Java开发人员的自然方式,但是, 用GWT团队的话来说“不是一场理想的比赛 对于内部运行的约束 浏览器,尤其是移动浏览器 浏览器”。演出比较 可以找到和 。 在其他改进之间 承诺带来最小尺寸的 编译脚本和绝对最大值 速度但是没有消息 关于这个项目7个月 安全吗 在GWT中使用番石榴?如果是,是吗 带来真正的性能改进 还有其他选择吗 非常感谢如果您希望在浏览器上获得

在GWT中使用集合的最佳方式和/或推荐做法是什么,特别是在寻求性能的情况下

到目前为止,我发现的选项有:

  • JRE模拟的集合。最 Java开发人员的自然方式,但是, 用GWT团队的话来说“不是一场理想的比赛 对于内部运行的约束 浏览器,尤其是移动浏览器 浏览器”。演出比较 可以找到和

  • 。 在其他改进之间 承诺带来最小尺寸的 编译脚本和绝对最大值 速度但是没有消息 关于这个项目7个月

  • 安全吗 在GWT中使用番石榴?如果是,是吗 带来真正的性能改进

还有其他选择吗


非常感谢

如果您希望在浏览器上获得绝对最佳的性能,那么您应该使用类似于轻量级集合的东西——仅限本机JS数组和映射,所有包含的对象都是JavaScriptObjects(覆盖类型)

然而,这将严重限制您的编码效率,因为它们根本不像JRE集合那么容易使用。没有
contains()
,没有增强的for循环,没有Java的优点。毕竟,“Java的精妙之处”大概是您使用GWT而不是JS编程的原因

Guava的目标并不是为GWT应用程序带来任何特定的效率优势,它主要只是提供一种更简单的编码体验,偶尔还提供一些您可能没有考虑过的小优化。番石榴不是针对GWT优化的,它只在GWT上可用


所以,这取决于你。如果您想方便地使用常规Java集合,应该使用番石榴。如果您想获得绝对最快的性能,请在本机集合中执行所有操作。

同意前面的答案,并提供一些其他详细信息:

GWT轻量级集合设计为仅用于客户端。如果您希望使用RPC机制传输这些数据,则可能会以异常结束

另一种加速JavaScript的方法是使用数组而不是集合,因为在这些方法中,传输和处理都是可能的。数组更接近于它的JavaScript类似物,出于兼容性目的,GWT不会编译太多包装代码


我也不希望从番石榴中获得任何性能方面的好处。

谢谢您的链接。我还将更新一个链接后,这个线程!