由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - js,php,ruby和python的共同点
相关主题
请教C的类型转换问题[合集] 问一个design pattern的问题
[分享]:一篇文章讲通一半Java《面向对象一家人》嫌弃java, C#速度慢的一般都是杞人忧天
[吐槽]抽象真是不一定好java的hotspot,js的v8还有dart vm都出自一个人之手
请教一下如何用Java或者Perl取得动态网页(ASPX)的源代码看来2013还是Javascript最流行
语言发展是由经济学原则推动的dart对于js就象ruby对于perl一样
动态语言和静态语言脚本比较大的问题就是DEBUG
请教个非常简单的app的问题INTEGER搜索求建议
python不支持多态早就说了,java+python就是将来
相关话题的讨论汇总
话题: 类型话题: 动态话题: 静态话题: php话题: js
进入Programming版参与讨论
1 (共1页)
z*******3
发帖数: 13709
1
就是脚本+oo特性,这几个都是如此
而且还都是动态类型
动态类型在运行时效率会使得一般的虚拟机无法作出相应的优化
如果我记得没错的话
v8引擎的优化其实就是通过对于动态类型生成一个子类
用这种方式把动态类型转换成静态类型,以提升效率
facebook对于php的优化也类似
也是把php代码最早是转换成c++代码以提升效率
现在改成字节码,其实hhvm跟jvm已经很接近了
所以要优化,把动态类型转换成静态类型
是很重要的一个效率优化手段
dart对于js的改进,也集中在静态类型以及oo上
所以dart运行效率得分一下子就是js的两倍还多
vert.x也是静态类型,其运行效率也要优于使用v8的node.js
所以有至少两个id说
business logic还是要用静态类型的语言
这个是对的
另外一个就是oo,这个主要是项目管理方面的问题
不oo的话,连封装都是一个很大的问题
soa什么就无从谈起,最后混乱的结构会导致项目无法进行下去
google那个组活生生的一个实例
Y**G
发帖数: 1089
2
动态语言中,一个对象基本就是一个hash table。访问成员的速度是LOG(N)如果这个对
象有N个成员。编译型语言中,成员的偏移量是常数,所以访问成员的时间基本是常数
。着导致的效率差异太大了。
Y**G
发帖数: 1089
3
不过动态语言的好处是成员可以在运行中增加和减少。这可是静态语言无法做到的。所
以付出点代价还是值得的。

【在 Y**G 的大作中提到】
: 动态语言中,一个对象基本就是一个hash table。访问成员的速度是LOG(N)如果这个对
: 象有N个成员。编译型语言中,成员的偏移量是常数,所以访问成员的时间基本是常数
: 。着导致的效率差异太大了。

p**o
发帖数: 3409
4
别的先不说。除开 amortized worst case,哈希表访问肯定是O(1)。动态语言慢是由
各种原因造成的,比如 interpreter overhead,而不是生搬硬套 Big-O 来解释。

【在 Y**G 的大作中提到】
: 动态语言中,一个对象基本就是一个hash table。访问成员的速度是LOG(N)如果这个对
: 象有N个成员。编译型语言中,成员的偏移量是常数,所以访问成员的时间基本是常数
: 。着导致的效率差异太大了。

Y**G
发帖数: 1089
5
首先,表示歉意,hash table的performance不是LOG(N)。误判。
hash table的performance的决定因素很多,但是通常不是O(1)
* bucket的数目很重要。java的hash table的实现会检查非空的bucket数目,如果达到
一定比例(75% ?),就会double bucket的数目。
* hash算法也很重要。即要快,有要产生的数比较均匀。但是,最坏情况下,hash
table会变成链表,导致查找效率变成O(N)

【在 p**o 的大作中提到】
: 别的先不说。除开 amortized worst case,哈希表访问肯定是O(1)。动态语言慢是由
: 各种原因造成的,比如 interpreter overhead,而不是生搬硬套 Big-O 来解释。

1 (共1页)
进入Programming版参与讨论
相关主题
早就说了,java+python就是将来语言发展是由经济学原则推动的
swift是未来很多语言的新方向动态语言和静态语言
Vert.x成熟度如何了?请教个非常简单的app的问题
最近把这个新闻给忽略了,android上的dartpython不支持多态
请教C的类型转换问题[合集] 问一个design pattern的问题
[分享]:一篇文章讲通一半Java《面向对象一家人》嫌弃java, C#速度慢的一般都是杞人忧天
[吐槽]抽象真是不一定好java的hotspot,js的v8还有dart vm都出自一个人之手
请教一下如何用Java或者Perl取得动态网页(ASPX)的源代码看来2013还是Javascript最流行
相关话题的讨论汇总
话题: 类型话题: 动态话题: 静态话题: php话题: js