Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 在dart中将对象用作贴图关键点是否会对性能产生显著影响?_Performance_Dictionary_Dart_Benchmarking - Fatal编程技术网

Performance 在dart中将对象用作贴图关键点是否会对性能产生显著影响?

Performance 在dart中将对象用作贴图关键点是否会对性能产生显著影响?,performance,dictionary,dart,benchmarking,Performance,Dictionary,Dart,Benchmarking,我最近在dart中编写了一些代码,发现使用某些对象作为贴图键更简单。实际上,这段代码是在web模式下执行的(编译为javascript),但最终它也将在dart VM模式下使用 在dart中使用对象作为地图键是否会对内存/性能产生重大影响 我没有发现很多关于基准测试的资源(已经不存在了),所以任何方向都是受欢迎的 有一些注意事项: 记忆 由于用作键的每个对象都将由映射引用,因此除非映射本身可以被垃圾收集,或者键已从映射中移除,否则不能对每个对象进行垃圾收集。每个键的关联值也是如此 对于地图用于保

我最近在dart中编写了一些代码,发现使用某些对象作为贴图键更简单。实际上,这段代码是在web模式下执行的(编译为javascript),但最终它也将在dart VM模式下使用

在dart中使用对象作为地图键是否会对内存/性能产生重大影响


我没有发现很多关于基准测试的资源(已经不存在了),所以任何方向都是受欢迎的

有一些注意事项:

记忆 由于用作键的每个对象都将由映射引用,因此除非
映射本身可以被垃圾收集,或者键已从
映射中移除,否则不能对每个对象进行垃圾收集。每个键的关联值也是如此

对于地图用于保存键和值的存储,如果使用例如
String
作为键或自定义对象,则不会有任何区别,因为这两种键都将被保存为引用

演出
映射
上操作的性能很大程度上取决于
=
操作符和
hashCode
属性的性能,因为这两个属性都用于
映射
上使用的多个操作

我可以在这里推荐阅读关于它们的内容:

结论
很多项目都使用自定义对象作为贴图的关键点,在这期间通常不会出现任何问题。事实上,使用自定义对象与使用例如
String
作为键没有多大区别,因为
String
也只是一个普通类,具有自己的
=
运算符和
hashCode
属性。

有一些注意事项:

记忆 由于用作键的每个对象都将由映射引用,因此除非
映射本身可以被垃圾收集,或者键已从
映射中移除,否则不能对每个对象进行垃圾收集。每个键的关联值也是如此

对于地图用于保存键和值的存储,如果使用例如
String
作为键或自定义对象,则不会有任何区别,因为这两种键都将被保存为引用

演出
映射
上操作的性能很大程度上取决于
=
操作符和
hashCode
属性的性能,因为这两个属性都用于
映射
上使用的多个操作

我可以在这里推荐阅读关于它们的内容:

结论 很多项目都使用自定义对象作为贴图的关键点,在这期间通常不会出现任何问题。事实上,使用自定义对象与使用例如
String
作为键没有多大区别,因为
String
也只是一个普通类,具有自己的
=
运算符和
hashCode
属性