T********i 发帖数: 2416 | 1 发信人: goodbug (好虫), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人品恶
发信站: BBS 未名空间站 (Mon Nov 25 16:02:11 2013, 美东)
看看GoogBug 6行程序犯了多少错误。
就写这么个程序,随便你怎么优化,随便你用啥语言。在你那1万的机器上benchmark大
家看看,别光说不练。
int count = 100000;
for(int i = 0; i < 100000; i++){
int count = readCounter();
count--;
write(counter);
flush();
}
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:08:41 2013, 美东)
就6行程序你还写错了。不明白fflush和fsync有啥差别是吧?
说呢基本功不扎实还真不是盖的。CS是体育老师教的吧?
发信人: goodbug (好虫), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:12:58 2013, 美东)
这本来就是伪码,大家知道要干啥就行了,我写的也不是C/C++。LOL。还是那句话,别
光说不练。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:14:36 2013, 美东)
啥码也不敢把sync写成flush。除非狗屁不懂的。
发信人: goodbug (好虫), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:15:08 2013, 美东)
java就是这么写的。你丫不懂就继续装吧。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:18:54 2013, 美东)
Java根本就不能做sync。
下面摘自javadoc。你Java也稀疏平常。我就算是写java也比你多多了。甩你几条街没
问题。
If the intended destination of this stream is an abstraction provided by the
underlying operating system, for example a file, then flushing the stream
guarantees only that bytes previously written to the stream are passed to
the operating system for writing; it does not guarantee that they are
actually written to a physical device such as a disk drive.
发信人: goodbug (好虫), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:21:25 2013, 美东)
我干嘛要做sync,就是写到硬盘而已。本来就是写伪码,我完全没打算优化,那是
你的事情。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:24:32 2013, 美东)
继续掌嘴。原来你不做sync?flush可是写到OS buffer而已。还没写到磁盘上呢。
flush完了断电数据也可能翘掉。
教你CS的那个体育老师不是一个好司机。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:27:50 2013, 美东)
好奇cassandra怎么做的。原来cassandra的缺省配置也有可能会丢数据。
不知道那些benchmark是啥配置。
http://wiki.apache.org/cassandra/Durability
发信人: goodbug (好虫), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:31:21 2013, 美东)
javadoc说得很清楚,这个是实现相关的。我学得好不好都没关系,反正你20行的程序
写不出来,就知道在这里丢人。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人
发信站: BBS 未名空间站 (Mon Nov 25 16:36:00 2013, 美东)
继续掌嘴。根本不是实现相关。Java flush就是到OS buffer为止。
FileDescriptor.sync()才是真正的sync to device。
第四个常识错误。
还要继续说么?
发信人: goodbug (好虫), 信区: Programming
标 题: Re: 干货,goodbug关于cassandra durability的论断你敢信么?
发信站: BBS 未名空间站 (Mon Nov 25 17:54:29 2013, 美东)
对,但你是single thread read/rewrite the same number. 多一个读,还过CPU,差
距太大了。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: 干货,goodbug关于cassandra durability的论断你敢信么?
发信站: BBS 未名空间站 (Mon Nov 25 17:57:30 2013, 美东)
继续掌嘴!
我问什么要read?给我一个read的理由?我内存中已经有拷贝,而且是同步写到磁盘里
的。
告诉我哪种数据库在这种情况下要多read一次?
第五个常识错误!
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: 干货,goodbug关于cassandra durability的论断你敢信么?
发信站: BBS 未名空间站 (Mon Nov 25 18:11:15 2013, 美东)
继续掌嘴!
第六个常识错误!1万到头肯定测试的是flush。这个没有任何意义。
应该测试的是sync。普通服务器结果能过1000就不错了。
恭喜你大满贯了!
发信人: goodbug (好虫), 信区: Programming
标 题: Re: 干货,goodbug关于cassandra durability的论断你敢信么?
发信站: BBS 未名空间站 (Mon Nov 25 18:22:17 2013, 美东)
LOL,我拿了一个用硬盘达到了100万/秒的实测给你看了。你没测就打退堂鼓了?
EC2上也有基于SSD的。
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: 干货,goodbug关于cassandra durability的论断你敢信么?
发信站: BBS 未名空间站 (Mon Nov 25 18:43:14 2013, 美东)
要么你根本没做。要么你还是用的flush。
这是第几个常识错误了?第七个了吧?
改成用sync的会死么?就这么难?不过估计你一次也很难改对。 |
b*******s 发帖数: 5216 | 2 这个没什么,不做优化的不知道flush和sync的区别也不奇怪
不过我好奇的是做java的敢说他们的程序性能能和c++一个量级
恐怕是对优化毫无概念,全部丢给编译器的那种认知水平
【在 T********i 的大作中提到】 : 发信人: goodbug (好虫), 信区: Programming : 标 题: Re: Goodbug这个人头重脚轻,嘴尖皮厚;不但学问浮夸,而且人品恶 : 发信站: BBS 未名空间站 (Mon Nov 25 16:02:11 2013, 美东) : 看看GoogBug 6行程序犯了多少错误。 : 就写这么个程序,随便你怎么优化,随便你用啥语言。在你那1万的机器上benchmark大 : 家看看,别光说不练。 : int count = 100000; : for(int i = 0; i < 100000; i++){ : int count = readCounter(); : count--;
|
T********i 发帖数: 2416 | 3 这个错了本来没啥。谁都会犯错。
极品的是错了不知道牵狗查查。或者是牵狗查了也看不懂。
而且继续嘴硬。连续7个帖子。个个错误。而且错误各不相同。把能犯的错误都犯了。
这说明了什么?
1. 人品问题
2. 能力问题
这两个才是大问题。人家说过一过二不过三。goodbug的过七那是差5个数量级的。
5个数量级那是100000倍。
【在 b*******s 的大作中提到】 : 这个没什么,不做优化的不知道flush和sync的区别也不奇怪 : 不过我好奇的是做java的敢说他们的程序性能能和c++一个量级 : 恐怕是对优化毫无概念,全部丢给编译器的那种认知水平
|
b*******s 发帖数: 5216 | 4 这个版很多批评c++的基本都是没做过c++解决的问题域相关东西的
不过我们做c++的也有很多不懂的,吵架就没必要了
【在 T********i 的大作中提到】 : 这个错了本来没啥。谁都会犯错。 : 极品的是错了不知道牵狗查查。或者是牵狗查了也看不懂。 : 而且继续嘴硬。连续7个帖子。个个错误。而且错误各不相同。把能犯的错误都犯了。 : 这说明了什么? : 1. 人品问题 : 2. 能力问题 : 这两个才是大问题。人家说过一过二不过三。goodbug的过七那是差5个数量级的。 : 5个数量级那是100000倍。
|
t*****n 发帖数: 4908 | 5 做java的都押宝在jvm上面了。和他们说sse优化,并行,gpu提速等等,就是对牛弹琴。
【在 b*******s 的大作中提到】 : 这个没什么,不做优化的不知道flush和sync的区别也不奇怪 : 不过我好奇的是做java的敢说他们的程序性能能和c++一个量级 : 恐怕是对优化毫无概念,全部丢给编译器的那种认知水平
|
p***o 发帖数: 1252 | 6 flush和sync的区别不自己实现数据库或者类似的东西恐怕很难碰到,用错了也不容易测
试出来。我原来弄错过,等我走了后review我代码的哥们告诉我我才明白过来。
【在 b*******s 的大作中提到】 : 这个没什么,不做优化的不知道flush和sync的区别也不奇怪 : 不过我好奇的是做java的敢说他们的程序性能能和c++一个量级 : 恐怕是对优化毫无概念,全部丢给编译器的那种认知水平
|
b*******s 发帖数: 5216 | 7 具体到比如linux操作系统,磁盘io是怎么管理的和这个就关系密切了
需要不少基础知识的
易测
【在 p***o 的大作中提到】 : flush和sync的区别不自己实现数据库或者类似的东西恐怕很难碰到,用错了也不容易测 : 试出来。我原来弄错过,等我走了后review我代码的哥们告诉我我才明白过来。
|
T********i 发帖数: 2416 | 8 懂不懂无所谓。问题是这个都不懂的敢号称自己懂I/O么?
这种人有资格谈I/O么?
易测
【在 p***o 的大作中提到】 : flush和sync的区别不自己实现数据库或者类似的东西恐怕很难碰到,用错了也不容易测 : 试出来。我原来弄错过,等我走了后review我代码的哥们告诉我我才明白过来。
|
b*******s 发帖数: 5216 | 9 前段时间还有个夸gc的内存管理效率高所以性能能beat c/c++的,看得产生了深深的无
力感
【在 T********i 的大作中提到】 : 这个错了本来没啥。谁都会犯错。 : 极品的是错了不知道牵狗查查。或者是牵狗查了也看不懂。 : 而且继续嘴硬。连续7个帖子。个个错误。而且错误各不相同。把能犯的错误都犯了。 : 这说明了什么? : 1. 人品问题 : 2. 能力问题 : 这两个才是大问题。人家说过一过二不过三。goodbug的过七那是差5个数量级的。 : 5个数量级那是100000倍。
|
b*******s 发帖数: 5216 | 10 我感觉是java程序员对底层的了解就到jvm就停止了,而jvm,对大多数java程序员又是
不用去了解的一个能帮你搞定一切的神仙
【在 T********i 的大作中提到】 : 懂不懂无所谓。问题是这个都不懂的敢号称自己懂I/O么? : 这种人有资格谈I/O么? : : 易测
|
|
|
f******y 发帖数: 2971 | 11 我当时也看了那贴,也是同样感觉。
【在 b*******s 的大作中提到】 : 前段时间还有个夸gc的内存管理效率高所以性能能beat c/c++的,看得产生了深深的无 : 力感
|
T********i 发帖数: 2416 | 12 其实一般写写程序,尤其是单线程不特殊优化,Java的内存管理效率还是蛮高的。
那个GC是stop the world GC,对多线程的杀伤力还是巨大的。
【在 b*******s 的大作中提到】 : 前段时间还有个夸gc的内存管理效率高所以性能能beat c/c++的,看得产生了深深的无 : 力感
|
g*****g 发帖数: 34805 | 13 我老一个sync, flush没分清,我又没不承认。是个人都有不懂的东西。像你这傻逼吹
牛逼,吹破了天,秒了 nasdaq几百次,丢人了半个月不敢露面,到现在又来翻案,真
他妈的极品。 |
g*****g 发帖数: 34805 | 14 魏公公内存数据库都上了,还要追求我设计上sync和flush的区别,真他妈有脸说。 |
g*****g 发帖数: 34805 | 15 也就你这种没写过server程序,才会纠结stop the world. 我设计的这些架构都是
scale
out, 动辄上千节点,一个节点stop the world又如何?
【在 T********i 的大作中提到】 : 其实一般写写程序,尤其是单线程不特殊优化,Java的内存管理效率还是蛮高的。 : 那个GC是stop the world GC,对多线程的杀伤力还是巨大的。
|
T********i 发帖数: 2416 | 16 这程度了你还好意思跳出来。心理素质不是一般强大。
【在 g*****g 的大作中提到】 : 也就你这种没写过server程序,才会纠结stop the world. 我设计的这些架构都是 : scale : out, 动辄上千节点,一个节点stop the world又如何?
|
g*****g 发帖数: 34805 | 17 跟您老没脸见人,躲上半个月,风头一国又出来丢人没得比。
【在 T********i 的大作中提到】 : 这程度了你还好意思跳出来。心理素质不是一般强大。
|
T********i 发帖数: 2416 | 18 呵呵,你这种人渣我有时还真要躲。现在好一些了。越来越多人认定你是人渣了。
【在 g*****g 的大作中提到】 : 跟您老没脸见人,躲上半个月,风头一国又出来丢人没得比。
|
z****e 发帖数: 54598 | 19 小菊花说过
很多人不知道大多数c++ program其实效率比java低
看来此言不虚啊
【在 f******y 的大作中提到】 : 我当时也看了那贴,也是同样感觉。
|
z****e 发帖数: 54598 | 20 别人渣了,你不是要让买买提血流成河嘛
说出来的话别食言啊
【在 T********i 的大作中提到】 : 呵呵,你这种人渣我有时还真要躲。现在好一些了。越来越多人认定你是人渣了。
|
|
|
z****e 发帖数: 54598 | 21 你的意思是你做优化?
嘿嘿,还真不信
【在 b*******s 的大作中提到】 : 这个没什么,不做优化的不知道flush和sync的区别也不奇怪 : 不过我好奇的是做java的敢说他们的程序性能能和c++一个量级 : 恐怕是对优化毫无概念,全部丢给编译器的那种认知水平
|
z****e 发帖数: 54598 | 22 jvm不是神仙
但是记住下面这句话:
jvm至少比你靠谱一万倍
【在 b*******s 的大作中提到】 : 我感觉是java程序员对底层的了解就到jvm就停止了,而jvm,对大多数java程序员又是 : 不用去了解的一个能帮你搞定一切的神仙
|
z****e 发帖数: 54598 | 23 呵呵,你多少年不写java了?
gc的这个策略已经调整了
还有real time java的gc也不是stop the world
这个gc策略我说过好几次了
而且就是针对stop the world和real time jvm的gc讨论的
【在 T********i 的大作中提到】 : 其实一般写写程序,尤其是单线程不特殊优化,Java的内存管理效率还是蛮高的。 : 那个GC是stop the world GC,对多线程的杀伤力还是巨大的。
|