- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直想知道 Dart 中的动态类型是否更慢。
给出的例子:
final dynamic example = "Example"
final String example = "Example"
最佳答案
是的,在 Dart 中使用 dynamic
类型变量通常比使用具有实际类型类型的变量慢。
但是,您的示例没有使用 dynamic
作为类型,而是使用类型推断来推断 String
类型。这在编译时可能会额外花费一点,但在运行时,您的两个代码示例完全相同。两个变量的类型都为 String
。dynamic
方法调用可能会更慢,因为运行时系统必须添加额外的检查以确保变量可以执行您尝试使用它执行的操作。
如果你有 int x = 2; print(x + 3);
运行时系统知道 int
有一个 +
操作符,甚至知道它是什么。
如果你写 dynamic x = 2; print(x + 3);
,运行时系统必须先检查 x
是否有 +
运算符才能调用它,并在调用之前找到该运算符在对象上的定义。它可能并不总是更慢,某些情况下比其他情况优化得更好,但它永远不会更快。
并非所有代码都对性能敏感,也并非所有变量都可以键入。如果您有一个包含 String
或 List
的变量,并且您想知道长度,那么只写 stringOrList.length
比 stringOrList is String ? stringOrList.length : (stringOrList as List).length
更方便。根据编译器和目标平台的不同,它可能会更慢。
关于variables - Dart 中的动态类型是否较慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52323051/
有人可以解释一下,在 DOM 中搜索元素时,为什么 Xpath 被认为比 CSS 选择器慢。不同的选择器是否有不同的引擎(例如 Xpath、CSS 选择器等) 谢谢 最佳答案 Xpath 并不是被认为
在我们的一个 MVC 页面中尝试加速某些 ajax 调用时,我遇到了一些我无法真正解释的奇怪行为。我每隔 N 秒就会进行一些 ajax 调用,以轮询一些统计数据。 似乎在物理上不同的文件中对 Cont
Background 尝试进行一个简单的实验,看看传统的 if 语句检查 null 是否比 Apache Commons Lang StringUtils isEmpty/isBlank 更快。 为了
我正在从 Android 设备调用 rest api,并且看到与 PC 相比的速度差异,我感到非常惊讶。下面是来自 PC 上的休息工具的图像。 我尝试了几个库,如 Retrofit、Volley 和常
为什么 scipy.distance.cdist 使用 float32 和 float64 时性能差异很大? from scipy.spatial import distance import num
我是一名优秀的程序员,十分优秀!