n*w 发帖数: 3393 | 1 这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了
不少贴。结果来了几个大坑。为了避嫌推迟到现在。
一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的
语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加
,因为要大改clr。
但jvm连first order都不支持。java的generic编译后要做type erasure。只是个
compiler trick。觉得scala的higher kind type要么同样也只是compile-time
checking,要么在jvm上加了东西?
找到这一段“Scala runs on the JVM, which implements a very poor type system
on its own (much poorer than the CLR). It doesn’t support type parameters
of any kind, let alone type constructors. The amazing richness in the Scala
type system is accomplished using compile-time checking only, and a lot of
code transformations. The virtual machine is completely oblivious to it.”。
http://www.sparxeng.com/blog/software/an-example-of-what-higher
jvm的type system确实很弱。个人觉得一个弱type system的vm不能算一个好的vm。可
能java 9会改。这样会不会引起兼容性问题? |
g*****g 发帖数: 34805 | 2 你反正也不用,就不用操心了。
system
【在 n*w 的大作中提到】 : 这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了 : 不少贴。结果来了几个大坑。为了避嫌推迟到现在。 : 一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的 : 语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加 : ,因为要大改clr。 : 但jvm连first order都不支持。java的generic编译后要做type erasure。只是个 : compiler trick。觉得scala的higher kind type要么同样也只是compile-time : checking,要么在jvm上加了东西? : 找到这一段“Scala runs on the JVM, which implements a very poor type system : on its own (much poorer than the CLR). It doesn’t support type parameters
|
n*w 发帖数: 3393 | 3 scala introduced manifests, 缓解了type erasure的部分问题?但performance
issue是不是还存在? |
k**********g 发帖数: 989 | 4
system
I know nothing about functional programming but I know at least a little
about C++ metaprogramming. Also I am very familiar with generic programming.
I have the feeling that,
(1) Unless the end-users of your language are compiler-writers or language
researchers (that is, users of your language use it to write their own
compilers or design their own languages),
(2) All other users outside this niche can have their practical programming
needs fulfilled with just generics, run-time code generation (which is a
whole new level of advancement over reflection), and run-time type creation.
http://stackoverflow.com/questions/15305804/define-generic-type
【在 n*w 的大作中提到】 : 这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了 : 不少贴。结果来了几个大坑。为了避嫌推迟到现在。 : 一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的 : 语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加 : ,因为要大改clr。 : 但jvm连first order都不支持。java的generic编译后要做type erasure。只是个 : compiler trick。觉得scala的higher kind type要么同样也只是compile-time : checking,要么在jvm上加了东西? : 找到这一段“Scala runs on the JVM, which implements a very poor type system : on its own (much poorer than the CLR). It doesn’t support type parameters
|
H****S 发帖数: 1359 | 5 It does come with a price, so if you only care about top level information
of the type class, e.g., for List[String] only care about info about the
type constructor List[_], pass in ClassManifest instead of Manifest.
【在 n*w 的大作中提到】 : scala introduced manifests, 缓解了type erasure的部分问题?但performance : issue是不是还存在?
|
n*w 发帖数: 3393 | 6 这个倒不是一定是fp才有的东西。
programming.
language
programming
creation.
【在 k**********g 的大作中提到】 : : system : I know nothing about functional programming but I know at least a little : about C++ metaprogramming. Also I am very familiar with generic programming. : I have the feeling that, : (1) Unless the end-users of your language are compiler-writers or language : researchers (that is, users of your language use it to write their own : compilers or design their own languages), : (2) All other users outside this niche can have their practical programming : needs fulfilled with just generics, run-time code generation (which is a
|
n*w 发帖数: 3393 | 7 找到下面这段,不知道是不是正确。如果对的话怎样得到Bar[Baz]的type?
“My understand is that if:
type T = Foo[Bar[Baz]]
then Manifest[T] represents the entire Foo[Bar[Baz]] type, whereas
ClassManifest[T] only represents Foo[_]”
【在 H****S 的大作中提到】 : It does come with a price, so if you only care about top level information : of the type class, e.g., for List[String] only care about info about the : type constructor List[_], pass in ClassManifest instead of Manifest.
|
k**********g 发帖数: 989 | 8
http://www.scala-lang.org/api/2.9.2/scala/reflect/ClassManifest
def typeArguments: List[scala.reflect.OptManifest[_]]
I don't know Scala, but from its documentation Manifest is similar to the
TypeInfo class that is in CLR Reflection.
Basically, it is a class itself that provides information (type metadata)
about other classes that the user or library provider has written.
In reflection, the type "Bar[Baz]" is said to parameterize "Foo[Bar[Baz]]".
When it is not parameterized, a placeholder is used, as in "Foo[_]"
The same logic can be applied over and over again. After getting hold of "
Bar[Baz]", one can query to see if it is still generic, and if so, access
its type parameter, which is "Baz". Baz is no longer generic.
The corresponding CLR class is TypeInfo.
http://msdn.microsoft.com/en-us/library/system.reflection.typei
http://msdn.microsoft.com/en-us/library/system.reflection.typei
http://msdn.microsoft.com/en-us/library/system.type.generictype
【在 n*w 的大作中提到】 : 找到下面这段,不知道是不是正确。如果对的话怎样得到Bar[Baz]的type? : “My understand is that if: : type T = Foo[Bar[Baz]] : then Manifest[T] represents the entire Foo[Bar[Baz]] type, whereas : ClassManifest[T] only represents Foo[_]”
|
H****S 发帖数: 1359 | 9 implicit m: Manifest[T]
if ( m <:< Foo[Bar[Baz]]) ...
【在 n*w 的大作中提到】 : 找到下面这段,不知道是不是正确。如果对的话怎样得到Bar[Baz]的type? : “My understand is that if: : type T = Foo[Bar[Baz]] : then Manifest[T] represents the entire Foo[Bar[Baz]] type, whereas : ClassManifest[T] only represents Foo[_]”
|
c********l 发帖数: 8138 | 10 强烈同意1,码工码农根本不care 类型 这种底层问题
programming.
language
programming
creation.
【在 k**********g 的大作中提到】 : : http://www.scala-lang.org/api/2.9.2/scala/reflect/ClassManifest : def typeArguments: List[scala.reflect.OptManifest[_]] : I don't know Scala, but from its documentation Manifest is similar to the : TypeInfo class that is in CLR Reflection. : Basically, it is a class itself that provides information (type metadata) : about other classes that the user or library provider has written. : In reflection, the type "Bar[Baz]" is said to parameterize "Foo[Bar[Baz]]". : When it is not parameterized, a placeholder is used, as in "Foo[_]" : The same logic can be applied over and over again. After getting hold of "
|
|
|
n*w 发帖数: 3393 | 11 相反,type尤其higher kind type是远离硬件底层的抽象。
当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多
次,改一点点来处理不同的情况。不断地repeat yourself。
【在 c********l 的大作中提到】 : 强烈同意1,码工码农根本不care 类型 这种底层问题 : : programming. : language : programming : creation.
|
k**********g 发帖数: 989 | 12
Actually, nested templates (in C++) is a very common paradigm. So, I wouldn'
t say that nested templates such as the Foo < Bar < Baz > > as useless.
Quite the contrary they are essential for certain types of high-performance
libraries.
However, a competent user of generic programming will need to know what kind
of underlying code will be generated, to avoid some programming mishaps.
It is possible for a programmer to be familiar with both "higher kind type"
and also the underlying execution model.
【在 n*w 的大作中提到】 : 相反,type尤其higher kind type是远离硬件底层的抽象。 : 当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多 : 次,改一点点来处理不同的情况。不断地repeat yourself。
|
c********l 发帖数: 8138 | 13 java在generic上的宽松,恰恰没有影响复用性,
至于quality code,不好意思,我现在就在不停地纠正手下小孩写的不可重用代码
【在 n*w 的大作中提到】 : 相反,type尤其higher kind type是远离硬件底层的抽象。 : 当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多 : 次,改一点点来处理不同的情况。不断地repeat yourself。
|
N********n 发帖数: 8363 | 14
版上的井底JAVA正HIGH呢,你咋哪壶不开提哪壶?
【在 n*w 的大作中提到】 : 相反,type尤其higher kind type是远离硬件底层的抽象。 : 当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多 : 次,改一点点来处理不同的情况。不断地repeat yourself。
|
g*****g 发帖数: 34805 | 15 写产品出来大家瞅瞅。现实就是C#写出来的东西跟Java的比不在一个层次上。
让你多俩语法糖撸管有蛋用呀。等.Net写出个ebay, amazon, linkedin再
来吹吧。尼玛语言是个工具,不是按摩棒。连Objective C,PHP这写老古董都秒了C#,
还撸呢?
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htm
【在 N********n 的大作中提到】 : : 版上的井底JAVA正HIGH呢,你咋哪壶不开提哪壶?
|
n*w 发帖数: 3393 | 16 java的generic不是宽松。是公认的poor implementation。见过一人对list,list
重复写几次。理由是避免java generic的box/unbox的performance问题。
可重用代码很多方式,有部分是要type system的支持。
【在 c********l 的大作中提到】 : java在generic上的宽松,恰恰没有影响复用性, : 至于quality code,不好意思,我现在就在不停地纠正手下小孩写的不可重用代码
|
g*****g 发帖数: 34805 | 17 jvm实现再烂也秒了clr。clr都没啥相应的应用,撸管撸上天又有蛋用。
box/unbox的性能问题。LOL。啥应用box/unbox能成为瓶颈,你丫就是一点实际
经验都没有,成天装逼露怯。
list
【在 n*w 的大作中提到】 : java的generic不是宽松。是公认的poor implementation。见过一人对list,list : 重复写几次。理由是避免java generic的box/unbox的performance问题。 : 可重用代码很多方式,有部分是要type system的支持。
|
S*********g 发帖数: 5298 | 18 没什么稀奇的。
做实时trading的系统里边,要尽量少的制造garbage
就是要避免autoboxing和unboxing的。
container什么的都要自己写。
要不然,不到半天就得激活gc,咔嚓给你卡个一秒两秒的。
list
【在 n*w 的大作中提到】 : java的generic不是宽松。是公认的poor implementation。见过一人对list,list : 重复写几次。理由是避免java generic的box/unbox的performance问题。 : 可重用代码很多方式,有部分是要type system的支持。
|
n*w 发帖数: 3393 | 19 "成天装逼露怯"形容你最合适不过了。说的东西不是google出来的就是错误连天。滚一
边去。一天到晚像苍蝇一样。
【在 g*****g 的大作中提到】 : jvm实现再烂也秒了clr。clr都没啥相应的应用,撸管撸上天又有蛋用。 : box/unbox的性能问题。LOL。啥应用box/unbox能成为瓶颈,你丫就是一点实际 : 经验都没有,成天装逼露怯。 : : list
|
n*w 发帖数: 3393 | 20 所以那个人的代码也被接受了。我意思是如果jvm当初没这个问题的话就最好了。
【在 S*********g 的大作中提到】 : 没什么稀奇的。 : 做实时trading的系统里边,要尽量少的制造garbage : 就是要避免autoboxing和unboxing的。 : container什么的都要自己写。 : 要不然,不到半天就得激活gc,咔嚓给你卡个一秒两秒的。 : : list
|
|
|
n*w 发帖数: 3393 | 21 turing complete的c++的template是很强大,实现个monad也很容易。就是调试出错信
息晦涩。
wouldn'
performance
kind
"
【在 k**********g 的大作中提到】 : : Actually, nested templates (in C++) is a very common paradigm. So, I wouldn' : t say that nested templates such as the Foo < Bar < Baz > > as useless. : Quite the contrary they are essential for certain types of high-performance : libraries. : However, a competent user of generic programming will need to know what kind : of underlying code will be generated, to avoid some programming mishaps. : It is possible for a programmer to be familiar with both "higher kind type" : and also the underlying execution model.
|
S*********g 发帖数: 5298 | 22 你如果不那么做,在我们那里,根本不会让你过review
基本要做到一天下来gc不会被触发
要不然本来每个单子要求100us内完成的,
gc来一下就给卡个2秒,就没法活了
【在 n*w 的大作中提到】 : 所以那个人的代码也被接受了。我意思是如果jvm当初没这个问题的话就最好了。
|
n*w 发帖数: 3393 | 23 这个要求很高啊。会不会用没有gc的c++等更合适?
【在 S*********g 的大作中提到】 : 你如果不那么做,在我们那里,根本不会让你过review : 基本要做到一天下来gc不会被触发 : 要不然本来每个单子要求100us内完成的, : gc来一下就给卡个2秒,就没法活了
|
s***o 发帖数: 2191 | 24 为嘛不直接上C++?
【在 S*********g 的大作中提到】 : 你如果不那么做,在我们那里,根本不会让你过review : 基本要做到一天下来gc不会被触发 : 要不然本来每个单子要求100us内完成的, : gc来一下就给卡个2秒,就没法活了
|
S*********g 发帖数: 5298 | 25 multi-process什么的容易些吧
另外对程序员要求也低一些。
做model的要自己写code,code不能给developer看的。
java对这些人的要求会低很多的
【在 s***o 的大作中提到】 : 为嘛不直接上C++?
|
g*****g 发帖数: 34805 | 26 你要做实时trading,第一不非用java,第二有很多实时GC可以选择。boxing/unboxing
,扯蛋。
但凡你用Java的generics,就不能避免这个。
【在 S*********g 的大作中提到】 : 没什么稀奇的。 : 做实时trading的系统里边,要尽量少的制造garbage : 就是要避免autoboxing和unboxing的。 : container什么的都要自己写。 : 要不然,不到半天就得激活gc,咔嚓给你卡个一秒两秒的。 : : list
|
g*****g 发帖数: 34805 | 27 傻逼你有得瑟了,既然Java不合适,咋不见用C#去做实时trading呀。
【在 n*w 的大作中提到】 : "成天装逼露怯"形容你最合适不过了。说的东西不是google出来的就是错误连天。滚一 : 边去。一天到晚像苍蝇一样。
|
n*w 发帖数: 3393 | 28 你骂别人的话用在自己身上最合适不过。还莫名其妙地扯出c#。
【在 g*****g 的大作中提到】 : 傻逼你有得瑟了,既然Java不合适,咋不见用C#去做实时trading呀。
|
g*****g 发帖数: 34805 | 29 怎么喷了粪又要吃回去了?既然CLR比JVM强多了,Boxing/Unboxing在你看来是一个
很严重的性能问题。那实时trading居然还用Java不用C#,难道不是个很正常的问题?
【在 n*w 的大作中提到】 : 你骂别人的话用在自己身上最合适不过。还莫名其妙地扯出c#。
|
g*****g 发帖数: 34805 | 30 http://benchmarksgame.alioth.debian.org/u64q/csharp.php
真要对性能有兴趣,看看这个。C#性能比Java差多了。当然你可以推诿Mono实现得不好。
成天拿个boxing说事。就算实时trading有影响,99.99%的程序都不是实时trading,那
叫特例。
说到GC,我老倒是用Scala的Akka的时候发现大量的message造成频繁GC,为了最大化
throughput被迫在一些地方使用object pool。完全违背了Scala FP immutable的本意
。你就一新手,没啥实际经验,成天JJWW一些没意义的东西。不服倒是找个自己做过的
实际项目来证明JVM不行呀。 |
|
|
n*w 发帖数: 3393 | 31 你的第一句话自己吃吧。思维逻辑混乱,脏话连篇还出来现。 在说gc,关boxing
unboxing 什么事。如果说没boxing性能问题就意味说可以实时Trading了?没人像你把
个语言当宗教,我前面建议过c++。
【在 g*****g 的大作中提到】 : 怎么喷了粪又要吃回去了?既然CLR比JVM强多了,Boxing/Unboxing在你看来是一个 : 很严重的性能问题。那实时trading居然还用Java不用C#,难道不是个很正常的问题?
|
g*****g 发帖数: 34805 | 32 现在又不要谈实时trading了?很好,那你就来说说到底什么系统boxing/unboxing居然
能成为系统的瓶颈。我老给的link,是一堆常见的小算法程序shootout,咋就没有一个
把这个瓶颈体现出来呢?
我老要是谈Strong type,会去举web service这种例子,而不是boxing和性能问题。你
成天驴唇不对马嘴被打脸是必然的。学了个helloworld,看到某个blog自吹Android上C#
比java快7倍,就以为拿到令箭了。
【在 n*w 的大作中提到】 : 你的第一句话自己吃吧。思维逻辑混乱,脏话连篇还出来现。 在说gc,关boxing : unboxing 什么事。如果说没boxing性能问题就意味说可以实时Trading了?没人像你把 : 个语言当宗教,我前面建议过c++。
|
n*w 发帖数: 3393 | 33 那个快7倍的比较有源代码。你有兴趣自己去下载编译。再决定要不要打自己的脸
上C#
【在 g*****g 的大作中提到】 : 现在又不要谈实时trading了?很好,那你就来说说到底什么系统boxing/unboxing居然 : 能成为系统的瓶颈。我老给的link,是一堆常见的小算法程序shootout,咋就没有一个 : 把这个瓶颈体现出来呢? : 我老要是谈Strong type,会去举web service这种例子,而不是boxing和性能问题。你 : 成天驴唇不对马嘴被打脸是必然的。学了个helloworld,看到某个blog自吹Android上C# : 比java快7倍,就以为拿到令箭了。
|
g*****g 发帖数: 34805 | 34 那公司就是个joke。如果真有7倍,直接拿mono跟hotspot在workstation跑就可以了,
至于那么折腾吗。
Dalvik VM在过去两年有长足进步,VM优化本来就是需要时间积累的,这也是hotspot
jvm秒杀clr的原因。这个测试采用了2.0.3和4.0.3来测试本来就是很奇怪的事情。在4.
0.3存在的时候,不去测试很稳定的Android 2.3,而去测试又早了两年,连JIT都没有
的2.0.3,唯一
的解释就是2.3区别不明显。7倍的区别最大的可能是新版本没优化,而不是C#真有啥好
处。学术界这种挑选样本玩弄benchmark发垃圾paper的事情很多,这公司居然在工业界
玩。
你不服大可以在Android 4.3和 2.3上测试一下让大家看看。另外,无论是binary
tree,还是hashmap,实践中主体是访问,而不是创建,这个代码本来就不靠谱。也就
你才能鸡毛当令箭了。
【在 n*w 的大作中提到】 : 那个快7倍的比较有源代码。你有兴趣自己去下载编译。再决定要不要打自己的脸 : : 上C#
|
S*********g 发帖数: 5298 | 35 trading server的linux 内核都是自己hack过的,有的数据是fpga搞的,用windows没
法搞这些trick。
好。
★ 发自iPhone App: ChineseWeb 7.8
【在 g*****g 的大作中提到】 : http://benchmarksgame.alioth.debian.org/u64q/csharp.php : 真要对性能有兴趣,看看这个。C#性能比Java差多了。当然你可以推诿Mono实现得不好。 : 成天拿个boxing说事。就算实时trading有影响,99.99%的程序都不是实时trading,那 : 叫特例。 : 说到GC,我老倒是用Scala的Akka的时候发现大量的message造成频繁GC,为了最大化 : throughput被迫在一些地方使用object pool。完全违背了Scala FP immutable的本意 : 。你就一新手,没啥实际经验,成天JJWW一些没意义的东西。不服倒是找个自己做过的 : 实际项目来证明JVM不行呀。
|
n*w 发帖数: 3393 | 36 我又不care,是你担心自己命根子java比不过了。与其又写一大篇臆想,自己去测试呀
。或者读下源代码也知道为什么了。上次有人惊讶这个7倍结果我还在解释中说java总
得来说不这样差。拿“鸡毛当令箭”不是你最常做的吗
4.
【在 g*****g 的大作中提到】 : 那公司就是个joke。如果真有7倍,直接拿mono跟hotspot在workstation跑就可以了, : 至于那么折腾吗。 : Dalvik VM在过去两年有长足进步,VM优化本来就是需要时间积累的,这也是hotspot : jvm秒杀clr的原因。这个测试采用了2.0.3和4.0.3来测试本来就是很奇怪的事情。在4. : 0.3存在的时候,不去测试很稳定的Android 2.3,而去测试又早了两年,连JIT都没有 : 的2.0.3,唯一 : 的解释就是2.3区别不明显。7倍的区别最大的可能是新版本没优化,而不是C#真有啥好 : 处。学术界这种挑选样本玩弄benchmark发垃圾paper的事情很多,这公司居然在工业界 : 玩。 : 你不服大可以在Android 4.3和 2.3上测试一下让大家看看。另外,无论是binary
|
x****u 发帖数: 44466 | 37 ASP.net应用不要太多。
【在 g*****g 的大作中提到】 : jvm实现再烂也秒了clr。clr都没啥相应的应用,撸管撸上天又有蛋用。 : box/unbox的性能问题。LOL。啥应用box/unbox能成为瓶颈,你丫就是一点实际 : 经验都没有,成天装逼露怯。 : : list
|
x****u 发帖数: 44466 | 38 一样可以搞。
【在 S*********g 的大作中提到】 : trading server的linux 内核都是自己hack过的,有的数据是fpga搞的,用windows没 : 法搞这些trick。 : : 好。 : ★ 发自iPhone App: ChineseWeb 7.8
|
g*****g 发帖数: 34805 | 39 打的是你的脸,你不care好像我care是的。Android上难道Java还需要证明自己的地位
不成?
还担心比不过。LOL。完全没得比好不好,啥时候C#在Android上成主流了再来比。
傻逼公司的选择性数据,没有第三方验证过的,被你当作救命稻草。我老一质疑,就成
了臆想。
我老举的一堆Java秒杀C#的benchmark,无数人跑过的,又视而不见了?
一点工作经验都没有,读了两篇blog就出来丢人。你丫写过什么大程序,成天装出一副
对性能
很care的样子。女人真是没办法。
【在 n*w 的大作中提到】 : 我又不care,是你担心自己命根子java比不过了。与其又写一大篇臆想,自己去测试呀 : 。或者读下源代码也知道为什么了。上次有人惊讶这个7倍结果我还在解释中说java总 : 得来说不这样差。拿“鸡毛当令箭”不是你最常做的吗 : : 4.
|
n*w 发帖数: 3393 | 40 又开始打自己脸了。又开始祥林嫂了。 你还可以臆想一下这里就你读了本科工作过,
别人不仅没工作过,只上幼儿园。更牛哄哄了。
里面就是写很普通如二叉树之类。谁都可以下载验证。
【在 g*****g 的大作中提到】 : 打的是你的脸,你不care好像我care是的。Android上难道Java还需要证明自己的地位 : 不成? : 还担心比不过。LOL。完全没得比好不好,啥时候C#在Android上成主流了再来比。 : 傻逼公司的选择性数据,没有第三方验证过的,被你当作救命稻草。我老一质疑,就成 : 了臆想。 : 我老举的一堆Java秒杀C#的benchmark,无数人跑过的,又视而不见了? : 一点工作经验都没有,读了两篇blog就出来丢人。你丫写过什么大程序,成天装出一副 : 对性能 : 很care的样子。女人真是没办法。
|
|
|
g*****g 发帖数: 34805 | 41 我提了一个最实在问题,为啥不测稳定的2.3,而测连JIT都没有的2.03。你丫百般抵赖
有用吗。
你不服在2.3上测试一下大家试试就知道了。你丫傻逼连Android版本的区别都不清楚,
还出来
现呢?
【在 n*w 的大作中提到】 : 又开始打自己脸了。又开始祥林嫂了。 你还可以臆想一下这里就你读了本科工作过, : 别人不仅没工作过,只上幼儿园。更牛哄哄了。 : 里面就是写很普通如二叉树之类。谁都可以下载验证。
|
n*w 发帖数: 3393 | 42 我抵赖什么,快7倍还是快10倍我不像你撒泼打滚的。你自己不说过他们测过4.0.3. 即
使稳定了有了jit速度也提高了7倍?
你越骂那个脏词越显得你就是那个词。把这个版的素质都拉低了。
【在 g*****g 的大作中提到】 : 我提了一个最实在问题,为啥不测稳定的2.3,而测连JIT都没有的2.03。你丫百般抵赖 : 有用吗。 : 你不服在2.3上测试一下大家试试就知道了。你丫傻逼连Android版本的区别都不清楚, : 还出来 : 现呢?
|
g*****g 发帖数: 34805 | 43 还撑呢。2.0是09年10月出来的,4.0是11年12月出来的。文章故意去测超过两年的2.0
,不就是玩弄数据吗。4.0.3是4.0的第一个release版本,Android从2.x到4.x变化很大
,就算有点bug也很正常。你不服倒是去把2.3和4.3测一下大家瞧瞧呀。
总之说C#比Java快7倍,这种惊世骇俗的言论。需要的是更多的benchmark,涵盖各个版
本。而不是挑某个特定的小程序,挑没有优化好的版本来比。我给你的网站列的不是一
个程序,而是一堆程序,Java秒杀C#。好歹那个是第三方网站,跟Java, C#都没有利益
关系的。你去找一个做Mono的公司,不说C#好才奇怪了。自己弱智到这份上,还不明白
为啥老是被打脸?
【在 n*w 的大作中提到】 : 我抵赖什么,快7倍还是快10倍我不像你撒泼打滚的。你自己不说过他们测过4.0.3. 即 : 使稳定了有了jit速度也提高了7倍? : 你越骂那个脏词越显得你就是那个词。把这个版的素质都拉低了。
|
n*w 发帖数: 3393 | 44 又打自己脸了。那个7倍网站也是一堆程序。
我是好奇过两个网站的差别怎么这么大,当时分别看了两个网站的binary tree的那个
测试才明白。4.0.3有bug让运行时间慢7倍?没听说。
0
【在 g*****g 的大作中提到】 : 还撑呢。2.0是09年10月出来的,4.0是11年12月出来的。文章故意去测超过两年的2.0 : ,不就是玩弄数据吗。4.0.3是4.0的第一个release版本,Android从2.x到4.x变化很大 : ,就算有点bug也很正常。你不服倒是去把2.3和4.3测一下大家瞧瞧呀。 : 总之说C#比Java快7倍,这种惊世骇俗的言论。需要的是更多的benchmark,涵盖各个版 : 本。而不是挑某个特定的小程序,挑没有优化好的版本来比。我给你的网站列的不是一 : 个程序,而是一堆程序,Java秒杀C#。好歹那个是第三方网站,跟Java, C#都没有利益 : 关系的。你去找一个做Mono的公司,不说C#好才奇怪了。自己弱智到这份上,还不明白 : 为啥老是被打脸?
|
g*****g 发帖数: 34805 | 45 你看清楚了,那个图上只有三个程序,而且都集中在tree,map的创建上。连tree, map
的访问都不比。我给的那个网站,程序覆盖的范围可大太多了。你丫除了鸡毛当令箭还有
别的本事吗?
【在 n*w 的大作中提到】 : 又打自己脸了。那个7倍网站也是一堆程序。 : 我是好奇过两个网站的差别怎么这么大,当时分别看了两个网站的binary tree的那个 : 测试才明白。4.0.3有bug让运行时间慢7倍?没听说。 : : 0
|
n*w 发帖数: 3393 | 46 你前面不说“ 一 个程序”吗?
我很讨厌你的说话方式,能估计网下是个什么样的人。希望你不要像什么似的追在我后面
map
还有
【在 g*****g 的大作中提到】 : 你看清楚了,那个图上只有三个程序,而且都集中在tree,map的创建上。连tree, map : 的访问都不比。我给的那个网站,程序覆盖的范围可大太多了。你丫除了鸡毛当令箭还有 : 别的本事吗?
|
g*****g 发帖数: 34805 | 47 LOL,你玩吹毛求疵倒是很有一套。我问你为啥不用2.3用2.0.3,你就知道顾左右而言
他。
这里一个或者三个难道有区别吗,都是同质的程序。连那张图上都只敢说generics快,
没敢
说general purpose快。你丫还不承认鸡毛当零件哪?
后面
【在 n*w 的大作中提到】 : 你前面不说“ 一 个程序”吗? : 我很讨厌你的说话方式,能估计网下是个什么样的人。希望你不要像什么似的追在我后面 : : map : 还有
|
n*w 发帖数: 3393 | 48 回避4.03 又描述一下自己,
【在 g*****g 的大作中提到】 : LOL,你玩吹毛求疵倒是很有一套。我问你为啥不用2.3用2.0.3,你就知道顾左右而言 : 他。 : 这里一个或者三个难道有区别吗,都是同质的程序。连那张图上都只敢说generics快, : 没敢 : 说general purpose快。你丫还不承认鸡毛当零件哪? : : 后面
|
g*****g 发帖数: 34805 | 49 你丫长眼睛了吗?我难道没提4.0.3是第一个4.0版本,有优化问题很正常。
不服你跑个4.3大家看看呀。成天唐僧一样有用吗,C#在Android上根本没人用,
让你撸管比Java快100倍又如何?
【在 n*w 的大作中提到】 : 回避4.03 又描述一下自己,
|
n*w 发帖数: 3393 | 50 又扯远,“C#在Android上根本没人用, 100”。我还真不关心这些
【在 g*****g 的大作中提到】 : 你丫长眼睛了吗?我难道没提4.0.3是第一个4.0版本,有优化问题很正常。 : 不服你跑个4.3大家看看呀。成天唐僧一样有用吗,C#在Android上根本没人用, : 让你撸管比Java快100倍又如何?
|
|
|
g*****g 发帖数: 34805 | 51 play store里应用都快1M了,敢问几个是C#写的?你成天贴野鸡benchmark,
一被打脸就不关心了。LOL
【在 n*w 的大作中提到】 : 又扯远,“C#在Android上根本没人用, 100”。我还真不关心这些
|
x****u 发帖数: 44466 | 52 别说C#,Java的byte code也上不了线,除非搞成G自己家的Dalvik。
安卓这东西可以说是左手打Linux,右手打Java。
【在 g*****g 的大作中提到】 : play store里应用都快1M了,敢问几个是C#写的?你成天贴野鸡benchmark, : 一被打脸就不关心了。LOL
|
g*****g 发帖数: 34805 | 53 你要说打Oracle也罢。Android是对Java 1.5除awt/swing以外的API兼容的,绝大多数
第三方类库可以拿来就用。对Java开发者无非是熟悉一下GUI类库就得。
【在 x****u 的大作中提到】 : 别说C#,Java的byte code也上不了线,除非搞成G自己家的Dalvik。 : 安卓这东西可以说是左手打Linux,右手打Java。
|
x****u 发帖数: 44466 | 54 你也可以说对Linux开发者也只是熟悉类库,问题是做做就知道差别多大了
【在 g*****g 的大作中提到】 : 你要说打Oracle也罢。Android是对Java 1.5除awt/swing以外的API兼容的,绝大多数 : 第三方类库可以拿来就用。对Java开发者无非是熟悉一下GUI类库就得。
|
n*w 发帖数: 3393 | 55 这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了
不少贴。结果来了几个大坑。为了避嫌推迟到现在。
一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的
语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加
,因为要大改clr。
但jvm连first order都不支持。java的generic编译后要做type erasure。只是个
compiler trick。觉得scala的higher kind type要么同样也只是compile-time
checking,要么在jvm上加了东西?
找到这一段“Scala runs on the JVM, which implements a very poor type system
on its own (much poorer than the CLR). It doesn’t support type parameters
of any kind, let alone type constructors. The amazing richness in the Scala
type system is accomplished using compile-time checking only, and a lot of
code transformations. The virtual machine is completely oblivious to it.”。
http://www.sparxeng.com/blog/software/an-example-of-what-higher
jvm的type system确实很弱。个人觉得一个弱type system的vm不能算一个好的vm。可
能java 9会改。这样会不会引起兼容性问题? |
g*****g 发帖数: 34805 | 56 你反正也不用,就不用操心了。
system
【在 n*w 的大作中提到】 : 这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了 : 不少贴。结果来了几个大坑。为了避嫌推迟到现在。 : 一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的 : 语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加 : ,因为要大改clr。 : 但jvm连first order都不支持。java的generic编译后要做type erasure。只是个 : compiler trick。觉得scala的higher kind type要么同样也只是compile-time : checking,要么在jvm上加了东西? : 找到这一段“Scala runs on the JVM, which implements a very poor type system : on its own (much poorer than the CLR). It doesn’t support type parameters
|
n*w 发帖数: 3393 | 57 scala introduced manifests, 缓解了type erasure的部分问题?但performance
issue是不是还存在? |
k**********g 发帖数: 989 | 58
system
I know nothing about functional programming but I know at least a little
about C++ metaprogramming. Also I am very familiar with generic programming.
I have the feeling that,
(1) Unless the end-users of your language are compiler-writers or language
researchers (that is, users of your language use it to write their own
compilers or design their own languages),
(2) All other users outside this niche can have their practical programming
needs fulfilled with just generics, run-time code generation (which is a
whole new level of advancement over reflection), and run-time type creation.
http://stackoverflow.com/questions/15305804/define-generic-type
【在 n*w 的大作中提到】 : 这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了 : 不少贴。结果来了几个大坑。为了避嫌推迟到现在。 : 一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的 : 语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加 : ,因为要大改clr。 : 但jvm连first order都不支持。java的generic编译后要做type erasure。只是个 : compiler trick。觉得scala的higher kind type要么同样也只是compile-time : checking,要么在jvm上加了东西? : 找到这一段“Scala runs on the JVM, which implements a very poor type system : on its own (much poorer than the CLR). It doesn’t support type parameters
|
H****S 发帖数: 1359 | 59 It does come with a price, so if you only care about top level information
of the type class, e.g., for List[String] only care about info about the
type constructor List[_], pass in ClassManifest instead of Manifest.
【在 n*w 的大作中提到】 : scala introduced manifests, 缓解了type erasure的部分问题?但performance : issue是不是还存在?
|
n*w 发帖数: 3393 | 60 这个倒不是一定是fp才有的东西。
programming.
language
programming
creation.
【在 k**********g 的大作中提到】 : : system : I know nothing about functional programming but I know at least a little : about C++ metaprogramming. Also I am very familiar with generic programming. : I have the feeling that, : (1) Unless the end-users of your language are compiler-writers or language : researchers (that is, users of your language use it to write their own : compilers or design their own languages), : (2) All other users outside this niche can have their practical programming : needs fulfilled with just generics, run-time code generation (which is a
|
|
|
n*w 发帖数: 3393 | 61 找到下面这段,不知道是不是正确。如果对的话怎样得到Bar[Baz]的type?
“My understand is that if:
type T = Foo[Bar[Baz]]
then Manifest[T] represents the entire Foo[Bar[Baz]] type, whereas
ClassManifest[T] only represents Foo[_]”
【在 H****S 的大作中提到】 : It does come with a price, so if you only care about top level information : of the type class, e.g., for List[String] only care about info about the : type constructor List[_], pass in ClassManifest instead of Manifest.
|
k**********g 发帖数: 989 | 62
http://www.scala-lang.org/api/2.9.2/scala/reflect/ClassManifest
def typeArguments: List[scala.reflect.OptManifest[_]]
I don't know Scala, but from its documentation Manifest is similar to the
TypeInfo class that is in CLR Reflection.
Basically, it is a class itself that provides information (type metadata)
about other classes that the user or library provider has written.
In reflection, the type "Bar[Baz]" is said to parameterize "Foo[Bar[Baz]]".
When it is not parameterized, a placeholder is used, as in "Foo[_]"
The same logic can be applied over and over again. After getting hold of "
Bar[Baz]", one can query to see if it is still generic, and if so, access
its type parameter, which is "Baz". Baz is no longer generic.
The corresponding CLR class is TypeInfo.
http://msdn.microsoft.com/en-us/library/system.reflection.typei
http://msdn.microsoft.com/en-us/library/system.reflection.typei
http://msdn.microsoft.com/en-us/library/system.type.generictype
【在 n*w 的大作中提到】 : 找到下面这段,不知道是不是正确。如果对的话怎样得到Bar[Baz]的type? : “My understand is that if: : type T = Foo[Bar[Baz]] : then Manifest[T] represents the entire Foo[Bar[Baz]] type, whereas : ClassManifest[T] only represents Foo[_]”
|
H****S 发帖数: 1359 | 63 implicit m: Manifest[T]
if ( m <:< Foo[Bar[Baz]]) ...
【在 n*w 的大作中提到】 : 找到下面这段,不知道是不是正确。如果对的话怎样得到Bar[Baz]的type? : “My understand is that if: : type T = Foo[Bar[Baz]] : then Manifest[T] represents the entire Foo[Bar[Baz]] type, whereas : ClassManifest[T] only represents Foo[_]”
|
c********l 发帖数: 8138 | 64 强烈同意1,码工码农根本不care 类型 这种底层问题
programming.
language
programming
creation.
【在 k**********g 的大作中提到】 : : http://www.scala-lang.org/api/2.9.2/scala/reflect/ClassManifest : def typeArguments: List[scala.reflect.OptManifest[_]] : I don't know Scala, but from its documentation Manifest is similar to the : TypeInfo class that is in CLR Reflection. : Basically, it is a class itself that provides information (type metadata) : about other classes that the user or library provider has written. : In reflection, the type "Bar[Baz]" is said to parameterize "Foo[Bar[Baz]]". : When it is not parameterized, a placeholder is used, as in "Foo[_]" : The same logic can be applied over and over again. After getting hold of "
|
n*w 发帖数: 3393 | 65 相反,type尤其higher kind type是远离硬件底层的抽象。
当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多
次,改一点点来处理不同的情况。不断地repeat yourself。
【在 c********l 的大作中提到】 : 强烈同意1,码工码农根本不care 类型 这种底层问题 : : programming. : language : programming : creation.
|
k**********g 发帖数: 989 | 66
Actually, nested templates (in C++) is a very common paradigm. So, I wouldn'
t say that nested templates such as the Foo < Bar < Baz > > as useless.
Quite the contrary they are essential for certain types of high-performance
libraries.
However, a competent user of generic programming will need to know what kind
of underlying code will be generated, to avoid some programming mishaps.
It is possible for a programmer to be familiar with both "higher kind type"
and also the underlying execution model.
【在 n*w 的大作中提到】 : 相反,type尤其higher kind type是远离硬件底层的抽象。 : 当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多 : 次,改一点点来处理不同的情况。不断地repeat yourself。
|
c********l 发帖数: 8138 | 67 java在generic上的宽松,恰恰没有影响复用性,
至于quality code,不好意思,我现在就在不停地纠正手下小孩写的不可重用代码
【在 n*w 的大作中提到】 : 相反,type尤其higher kind type是远离硬件底层的抽象。 : 当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多 : 次,改一点点来处理不同的情况。不断地repeat yourself。
|
N********n 发帖数: 8363 | 68
版上的井底JAVA正HIGH呢,你咋哪壶不开提哪壶?
【在 n*w 的大作中提到】 : 相反,type尤其higher kind type是远离硬件底层的抽象。 : 当然,你也可以想我见过的一个印度人,不写抽象可复用的代码,把一段代码copy很多 : 次,改一点点来处理不同的情况。不断地repeat yourself。
|
g*****g 发帖数: 34805 | 69 写产品出来大家瞅瞅。现实就是C#写出来的东西跟Java的比不在一个层次上。
让你多俩语法糖撸管有蛋用呀。等.Net写出个ebay, amazon, linkedin再
来吹吧。尼玛语言是个工具,不是按摩棒。连Objective C,PHP这写老古董都秒了C#,
还撸呢?
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htm
【在 N********n 的大作中提到】 : : 版上的井底JAVA正HIGH呢,你咋哪壶不开提哪壶?
|
n*w 发帖数: 3393 | 70 java的generic不是宽松。是公认的poor implementation。见过一人对list,list
重复写几次。理由是避免java generic的box/unbox的performance问题。
可重用代码很多方式,有部分是要type system的支持。
【在 c********l 的大作中提到】 : java在generic上的宽松,恰恰没有影响复用性, : 至于quality code,不好意思,我现在就在不停地纠正手下小孩写的不可重用代码
|
|
|
g*****g 发帖数: 34805 | 71 jvm实现再烂也秒了clr。clr都没啥相应的应用,撸管撸上天又有蛋用。
box/unbox的性能问题。LOL。啥应用box/unbox能成为瓶颈,你丫就是一点实际
经验都没有,成天装逼露怯。
list
【在 n*w 的大作中提到】 : java的generic不是宽松。是公认的poor implementation。见过一人对list,list : 重复写几次。理由是避免java generic的box/unbox的performance问题。 : 可重用代码很多方式,有部分是要type system的支持。
|
S*********g 发帖数: 5298 | 72 没什么稀奇的。
做实时trading的系统里边,要尽量少的制造garbage
就是要避免autoboxing和unboxing的。
container什么的都要自己写。
要不然,不到半天就得激活gc,咔嚓给你卡个一秒两秒的。
list
【在 n*w 的大作中提到】 : java的generic不是宽松。是公认的poor implementation。见过一人对list,list : 重复写几次。理由是避免java generic的box/unbox的performance问题。 : 可重用代码很多方式,有部分是要type system的支持。
|
n*w 发帖数: 3393 | 73 "成天装逼露怯"形容你最合适不过了。说的东西不是google出来的就是错误连天。滚一
边去。一天到晚像苍蝇一样。
【在 g*****g 的大作中提到】 : jvm实现再烂也秒了clr。clr都没啥相应的应用,撸管撸上天又有蛋用。 : box/unbox的性能问题。LOL。啥应用box/unbox能成为瓶颈,你丫就是一点实际 : 经验都没有,成天装逼露怯。 : : list
|
n*w 发帖数: 3393 | 74 所以那个人的代码也被接受了。我意思是如果jvm当初没这个问题的话就最好了。
【在 S*********g 的大作中提到】 : 没什么稀奇的。 : 做实时trading的系统里边,要尽量少的制造garbage : 就是要避免autoboxing和unboxing的。 : container什么的都要自己写。 : 要不然,不到半天就得激活gc,咔嚓给你卡个一秒两秒的。 : : list
|
n*w 发帖数: 3393 | 75 turing complete的c++的template是很强大,实现个monad也很容易。就是调试出错信
息晦涩。
wouldn'
performance
kind
"
【在 k**********g 的大作中提到】 : : Actually, nested templates (in C++) is a very common paradigm. So, I wouldn' : t say that nested templates such as the Foo < Bar < Baz > > as useless. : Quite the contrary they are essential for certain types of high-performance : libraries. : However, a competent user of generic programming will need to know what kind : of underlying code will be generated, to avoid some programming mishaps. : It is possible for a programmer to be familiar with both "higher kind type" : and also the underlying execution model.
|
S*********g 发帖数: 5298 | 76 你如果不那么做,在我们那里,根本不会让你过review
基本要做到一天下来gc不会被触发
要不然本来每个单子要求100us内完成的,
gc来一下就给卡个2秒,就没法活了
【在 n*w 的大作中提到】 : 所以那个人的代码也被接受了。我意思是如果jvm当初没这个问题的话就最好了。
|
n*w 发帖数: 3393 | 77 这个要求很高啊。会不会用没有gc的c++等更合适?
【在 S*********g 的大作中提到】 : 你如果不那么做,在我们那里,根本不会让你过review : 基本要做到一天下来gc不会被触发 : 要不然本来每个单子要求100us内完成的, : gc来一下就给卡个2秒,就没法活了
|
s***o 发帖数: 2191 | 78 为嘛不直接上C++?
【在 S*********g 的大作中提到】 : 你如果不那么做,在我们那里,根本不会让你过review : 基本要做到一天下来gc不会被触发 : 要不然本来每个单子要求100us内完成的, : gc来一下就给卡个2秒,就没法活了
|
S*********g 发帖数: 5298 | 79 multi-process什么的容易些吧
另外对程序员要求也低一些。
做model的要自己写code,code不能给developer看的。
java对这些人的要求会低很多的
【在 s***o 的大作中提到】 : 为嘛不直接上C++?
|
g*****g 发帖数: 34805 | 80 你要做实时trading,第一不非用java,第二有很多实时GC可以选择。boxing/unboxing
,扯蛋。
但凡你用Java的generics,就不能避免这个。
【在 S*********g 的大作中提到】 : 没什么稀奇的。 : 做实时trading的系统里边,要尽量少的制造garbage : 就是要避免autoboxing和unboxing的。 : container什么的都要自己写。 : 要不然,不到半天就得激活gc,咔嚓给你卡个一秒两秒的。 : : list
|
|
|
g*****g 发帖数: 34805 | 81 傻逼你有得瑟了,既然Java不合适,咋不见用C#去做实时trading呀。
【在 n*w 的大作中提到】 : "成天装逼露怯"形容你最合适不过了。说的东西不是google出来的就是错误连天。滚一 : 边去。一天到晚像苍蝇一样。
|
n*w 发帖数: 3393 | 82 你骂别人的话用在自己身上最合适不过。还莫名其妙地扯出c#。
【在 g*****g 的大作中提到】 : 傻逼你有得瑟了,既然Java不合适,咋不见用C#去做实时trading呀。
|
g*****g 发帖数: 34805 | 83 怎么喷了粪又要吃回去了?既然CLR比JVM强多了,Boxing/Unboxing在你看来是一个
很严重的性能问题。那实时trading居然还用Java不用C#,难道不是个很正常的问题?
【在 n*w 的大作中提到】 : 你骂别人的话用在自己身上最合适不过。还莫名其妙地扯出c#。
|
g*****g 发帖数: 34805 | 84 http://benchmarksgame.alioth.debian.org/u64q/csharp.php
真要对性能有兴趣,看看这个。C#性能比Java差多了。当然你可以推诿Mono实现得不好。
成天拿个boxing说事。就算实时trading有影响,99.99%的程序都不是实时trading,那
叫特例。
说到GC,我老倒是用Scala的Akka的时候发现大量的message造成频繁GC,为了最大化
throughput被迫在一些地方使用object pool。完全违背了Scala FP immutable的本意
。你就一新手,没啥实际经验,成天JJWW一些没意义的东西。不服倒是找个自己做过的
实际项目来证明JVM不行呀。 |
n*w 发帖数: 3393 | 85 你的第一句话自己吃吧。思维逻辑混乱,脏话连篇还出来现。 在说gc,关boxing
unboxing 什么事。如果说没boxing性能问题就意味说可以实时Trading了?没人像你把
个语言当宗教,我前面建议过c++。
【在 g*****g 的大作中提到】 : 怎么喷了粪又要吃回去了?既然CLR比JVM强多了,Boxing/Unboxing在你看来是一个 : 很严重的性能问题。那实时trading居然还用Java不用C#,难道不是个很正常的问题?
|
g*****g 发帖数: 34805 | 86 现在又不要谈实时trading了?很好,那你就来说说到底什么系统boxing/unboxing居然
能成为系统的瓶颈。我老给的link,是一堆常见的小算法程序shootout,咋就没有一个
把这个瓶颈体现出来呢?
我老要是谈Strong type,会去举web service这种例子,而不是boxing和性能问题。你
成天驴唇不对马嘴被打脸是必然的。学了个helloworld,看到某个blog自吹Android上C#
比java快7倍,就以为拿到令箭了。
【在 n*w 的大作中提到】 : 你的第一句话自己吃吧。思维逻辑混乱,脏话连篇还出来现。 在说gc,关boxing : unboxing 什么事。如果说没boxing性能问题就意味说可以实时Trading了?没人像你把 : 个语言当宗教,我前面建议过c++。
|
n*w 发帖数: 3393 | 87 那个快7倍的比较有源代码。你有兴趣自己去下载编译。再决定要不要打自己的脸
上C#
【在 g*****g 的大作中提到】 : 现在又不要谈实时trading了?很好,那你就来说说到底什么系统boxing/unboxing居然 : 能成为系统的瓶颈。我老给的link,是一堆常见的小算法程序shootout,咋就没有一个 : 把这个瓶颈体现出来呢? : 我老要是谈Strong type,会去举web service这种例子,而不是boxing和性能问题。你 : 成天驴唇不对马嘴被打脸是必然的。学了个helloworld,看到某个blog自吹Android上C# : 比java快7倍,就以为拿到令箭了。
|
g*****g 发帖数: 34805 | 88 那公司就是个joke。如果真有7倍,直接拿mono跟hotspot在workstation跑就可以了,
至于那么折腾吗。
Dalvik VM在过去两年有长足进步,VM优化本来就是需要时间积累的,这也是hotspot
jvm秒杀clr的原因。这个测试采用了2.0.3和4.0.3来测试本来就是很奇怪的事情。在4.
0.3存在的时候,不去测试很稳定的Android 2.3,而去测试又早了两年,连JIT都没有
的2.0.3,唯一
的解释就是2.3区别不明显。7倍的区别最大的可能是新版本没优化,而不是C#真有啥好
处。学术界这种挑选样本玩弄benchmark发垃圾paper的事情很多,这公司居然在工业界
玩。
你不服大可以在Android 4.3和 2.3上测试一下让大家看看。另外,无论是binary
tree,还是hashmap,实践中主体是访问,而不是创建,这个代码本来就不靠谱。也就
你才能鸡毛当令箭了。
【在 n*w 的大作中提到】 : 那个快7倍的比较有源代码。你有兴趣自己去下载编译。再决定要不要打自己的脸 : : 上C#
|
S*********g 发帖数: 5298 | 89 trading server的linux 内核都是自己hack过的,有的数据是fpga搞的,用windows没
法搞这些trick。
好。
★ 发自iPhone App: ChineseWeb 7.8
【在 g*****g 的大作中提到】 : http://benchmarksgame.alioth.debian.org/u64q/csharp.php : 真要对性能有兴趣,看看这个。C#性能比Java差多了。当然你可以推诿Mono实现得不好。 : 成天拿个boxing说事。就算实时trading有影响,99.99%的程序都不是实时trading,那 : 叫特例。 : 说到GC,我老倒是用Scala的Akka的时候发现大量的message造成频繁GC,为了最大化 : throughput被迫在一些地方使用object pool。完全违背了Scala FP immutable的本意 : 。你就一新手,没啥实际经验,成天JJWW一些没意义的东西。不服倒是找个自己做过的 : 实际项目来证明JVM不行呀。
|
n*w 发帖数: 3393 | 90 我又不care,是你担心自己命根子java比不过了。与其又写一大篇臆想,自己去测试呀
。或者读下源代码也知道为什么了。上次有人惊讶这个7倍结果我还在解释中说java总
得来说不这样差。拿“鸡毛当令箭”不是你最常做的吗
4.
【在 g*****g 的大作中提到】 : 那公司就是个joke。如果真有7倍,直接拿mono跟hotspot在workstation跑就可以了, : 至于那么折腾吗。 : Dalvik VM在过去两年有长足进步,VM优化本来就是需要时间积累的,这也是hotspot : jvm秒杀clr的原因。这个测试采用了2.0.3和4.0.3来测试本来就是很奇怪的事情。在4. : 0.3存在的时候,不去测试很稳定的Android 2.3,而去测试又早了两年,连JIT都没有 : 的2.0.3,唯一 : 的解释就是2.3区别不明显。7倍的区别最大的可能是新版本没优化,而不是C#真有啥好 : 处。学术界这种挑选样本玩弄benchmark发垃圾paper的事情很多,这公司居然在工业界 : 玩。 : 你不服大可以在Android 4.3和 2.3上测试一下让大家看看。另外,无论是binary
|
|
|
x****u 发帖数: 44466 | 91 ASP.net应用不要太多。
【在 g*****g 的大作中提到】 : jvm实现再烂也秒了clr。clr都没啥相应的应用,撸管撸上天又有蛋用。 : box/unbox的性能问题。LOL。啥应用box/unbox能成为瓶颈,你丫就是一点实际 : 经验都没有,成天装逼露怯。 : : list
|
x****u 发帖数: 44466 | 92 一样可以搞。
【在 S*********g 的大作中提到】 : trading server的linux 内核都是自己hack过的,有的数据是fpga搞的,用windows没 : 法搞这些trick。 : : 好。 : ★ 发自iPhone App: ChineseWeb 7.8
|
g*****g 发帖数: 34805 | 93 打的是你的脸,你不care好像我care是的。Android上难道Java还需要证明自己的地位
不成?
还担心比不过。LOL。完全没得比好不好,啥时候C#在Android上成主流了再来比。
傻逼公司的选择性数据,没有第三方验证过的,被你当作救命稻草。我老一质疑,就成
了臆想。
我老举的一堆Java秒杀C#的benchmark,无数人跑过的,又视而不见了?
一点工作经验都没有,读了两篇blog就出来丢人。你丫写过什么大程序,成天装出一副
对性能
很care的样子。女人真是没办法。
【在 n*w 的大作中提到】 : 我又不care,是你担心自己命根子java比不过了。与其又写一大篇臆想,自己去测试呀 : 。或者读下源代码也知道为什么了。上次有人惊讶这个7倍结果我还在解释中说java总 : 得来说不这样差。拿“鸡毛当令箭”不是你最常做的吗 : : 4.
|
n*w 发帖数: 3393 | 94 又开始打自己脸了。又开始祥林嫂了。 你还可以臆想一下这里就你读了本科工作过,
别人不仅没工作过,只上幼儿园。更牛哄哄了。
里面就是写很普通如二叉树之类。谁都可以下载验证。
【在 g*****g 的大作中提到】 : 打的是你的脸,你不care好像我care是的。Android上难道Java还需要证明自己的地位 : 不成? : 还担心比不过。LOL。完全没得比好不好,啥时候C#在Android上成主流了再来比。 : 傻逼公司的选择性数据,没有第三方验证过的,被你当作救命稻草。我老一质疑,就成 : 了臆想。 : 我老举的一堆Java秒杀C#的benchmark,无数人跑过的,又视而不见了? : 一点工作经验都没有,读了两篇blog就出来丢人。你丫写过什么大程序,成天装出一副 : 对性能 : 很care的样子。女人真是没办法。
|
g*****g 发帖数: 34805 | 95 我提了一个最实在问题,为啥不测稳定的2.3,而测连JIT都没有的2.03。你丫百般抵赖
有用吗。
你不服在2.3上测试一下大家试试就知道了。你丫傻逼连Android版本的区别都不清楚,
还出来
现呢?
【在 n*w 的大作中提到】 : 又开始打自己脸了。又开始祥林嫂了。 你还可以臆想一下这里就你读了本科工作过, : 别人不仅没工作过,只上幼儿园。更牛哄哄了。 : 里面就是写很普通如二叉树之类。谁都可以下载验证。
|
n*w 发帖数: 3393 | 96 我抵赖什么,快7倍还是快10倍我不像你撒泼打滚的。你自己不说过他们测过4.0.3. 即
使稳定了有了jit速度也提高了7倍?
你越骂那个脏词越显得你就是那个词。把这个版的素质都拉低了。
【在 g*****g 的大作中提到】 : 我提了一个最实在问题,为啥不测稳定的2.3,而测连JIT都没有的2.03。你丫百般抵赖 : 有用吗。 : 你不服在2.3上测试一下大家试试就知道了。你丫傻逼连Android版本的区别都不清楚, : 还出来 : 现呢?
|
g*****g 发帖数: 34805 | 97 还撑呢。2.0是09年10月出来的,4.0是11年12月出来的。文章故意去测超过两年的2.0
,不就是玩弄数据吗。4.0.3是4.0的第一个release版本,Android从2.x到4.x变化很大
,就算有点bug也很正常。你不服倒是去把2.3和4.3测一下大家瞧瞧呀。
总之说C#比Java快7倍,这种惊世骇俗的言论。需要的是更多的benchmark,涵盖各个版
本。而不是挑某个特定的小程序,挑没有优化好的版本来比。我给你的网站列的不是一
个程序,而是一堆程序,Java秒杀C#。好歹那个是第三方网站,跟Java, C#都没有利益
关系的。你去找一个做Mono的公司,不说C#好才奇怪了。自己弱智到这份上,还不明白
为啥老是被打脸?
【在 n*w 的大作中提到】 : 我抵赖什么,快7倍还是快10倍我不像你撒泼打滚的。你自己不说过他们测过4.0.3. 即 : 使稳定了有了jit速度也提高了7倍? : 你越骂那个脏词越显得你就是那个词。把这个版的素质都拉低了。
|
n*w 发帖数: 3393 | 98 又打自己脸了。那个7倍网站也是一堆程序。
我是好奇过两个网站的差别怎么这么大,当时分别看了两个网站的binary tree的那个
测试才明白。4.0.3有bug让运行时间慢7倍?没听说。
0
【在 g*****g 的大作中提到】 : 还撑呢。2.0是09年10月出来的,4.0是11年12月出来的。文章故意去测超过两年的2.0 : ,不就是玩弄数据吗。4.0.3是4.0的第一个release版本,Android从2.x到4.x变化很大 : ,就算有点bug也很正常。你不服倒是去把2.3和4.3测一下大家瞧瞧呀。 : 总之说C#比Java快7倍,这种惊世骇俗的言论。需要的是更多的benchmark,涵盖各个版 : 本。而不是挑某个特定的小程序,挑没有优化好的版本来比。我给你的网站列的不是一 : 个程序,而是一堆程序,Java秒杀C#。好歹那个是第三方网站,跟Java, C#都没有利益 : 关系的。你去找一个做Mono的公司,不说C#好才奇怪了。自己弱智到这份上,还不明白 : 为啥老是被打脸?
|
g*****g 发帖数: 34805 | 99 你看清楚了,那个图上只有三个程序,而且都集中在tree,map的创建上。连tree, map
的访问都不比。我给的那个网站,程序覆盖的范围可大太多了。你丫除了鸡毛当令箭还有
别的本事吗?
【在 n*w 的大作中提到】 : 又打自己脸了。那个7倍网站也是一堆程序。 : 我是好奇过两个网站的差别怎么这么大,当时分别看了两个网站的binary tree的那个 : 测试才明白。4.0.3有bug让运行时间慢7倍?没听说。 : : 0
|
n*w 发帖数: 3393 | 100 你前面不说“ 一 个程序”吗?
我很讨厌你的说话方式,能估计网下是个什么样的人。希望你不要像什么似的追在我后面
map
还有
【在 g*****g 的大作中提到】 : 你看清楚了,那个图上只有三个程序,而且都集中在tree,map的创建上。连tree, map : 的访问都不比。我给的那个网站,程序覆盖的范围可大太多了。你丫除了鸡毛当令箭还有 : 别的本事吗?
|
|
|
g*****g 发帖数: 34805 | 101 LOL,你玩吹毛求疵倒是很有一套。我问你为啥不用2.3用2.0.3,你就知道顾左右而言
他。
这里一个或者三个难道有区别吗,都是同质的程序。连那张图上都只敢说generics快,
没敢
说general purpose快。你丫还不承认鸡毛当零件哪?
后面
【在 n*w 的大作中提到】 : 你前面不说“ 一 个程序”吗? : 我很讨厌你的说话方式,能估计网下是个什么样的人。希望你不要像什么似的追在我后面 : : map : 还有
|
n*w 发帖数: 3393 | 102 回避4.03 又描述一下自己,
【在 g*****g 的大作中提到】 : LOL,你玩吹毛求疵倒是很有一套。我问你为啥不用2.3用2.0.3,你就知道顾左右而言 : 他。 : 这里一个或者三个难道有区别吗,都是同质的程序。连那张图上都只敢说generics快, : 没敢 : 说general purpose快。你丫还不承认鸡毛当零件哪? : : 后面
|
g*****g 发帖数: 34805 | 103 你丫长眼睛了吗?我难道没提4.0.3是第一个4.0版本,有优化问题很正常。
不服你跑个4.3大家看看呀。成天唐僧一样有用吗,C#在Android上根本没人用,
让你撸管比Java快100倍又如何?
【在 n*w 的大作中提到】 : 回避4.03 又描述一下自己,
|
n*w 发帖数: 3393 | 104 又扯远,“C#在Android上根本没人用, 100”。我还真不关心这些
【在 g*****g 的大作中提到】 : 你丫长眼睛了吗?我难道没提4.0.3是第一个4.0版本,有优化问题很正常。 : 不服你跑个4.3大家看看呀。成天唐僧一样有用吗,C#在Android上根本没人用, : 让你撸管比Java快100倍又如何?
|
g*****g 发帖数: 34805 | 105 play store里应用都快1M了,敢问几个是C#写的?你成天贴野鸡benchmark,
一被打脸就不关心了。LOL
【在 n*w 的大作中提到】 : 又扯远,“C#在Android上根本没人用, 100”。我还真不关心这些
|
x****u 发帖数: 44466 | 106 别说C#,Java的byte code也上不了线,除非搞成G自己家的Dalvik。
安卓这东西可以说是左手打Linux,右手打Java。
【在 g*****g 的大作中提到】 : play store里应用都快1M了,敢问几个是C#写的?你成天贴野鸡benchmark, : 一被打脸就不关心了。LOL
|
g*****g 发帖数: 34805 | 107 你要说打Oracle也罢。Android是对Java 1.5除awt/swing以外的API兼容的,绝大多数
第三方类库可以拿来就用。对Java开发者无非是熟悉一下GUI类库就得。
【在 x****u 的大作中提到】 : 别说C#,Java的byte code也上不了线,除非搞成G自己家的Dalvik。 : 安卓这东西可以说是左手打Linux,右手打Java。
|
x****u 发帖数: 44466 | 108 你也可以说对Linux开发者也只是熟悉类库,问题是做做就知道差别多大了
【在 g*****g 的大作中提到】 : 你要说打Oracle也罢。Android是对Java 1.5除awt/swing以外的API兼容的,绝大多数 : 第三方类库可以拿来就用。对Java开发者无非是熟悉一下GUI类库就得。
|
g*****g 发帖数: 34805 | 109 都在VM之上,用 java api, 显然 Linux开发不熟悉。
【在 x****u 的大作中提到】 : 你也可以说对Linux开发者也只是熟悉类库,问题是做做就知道差别多大了
|