由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - java适合做实时系统吗?
相关主题
c++熟手如何学习Java直到能够参与开发企业级应用?新手问题 -- dynamic variable and dynamic functions.
我Google过了,还是不明白Framework做Java web development 一定要 struts + spring + hibernate 吗
java的东西好多j2ee without EJB
InetAddress.getLocalHost() in Ubuntu does not work看Spring真是头大
问一个很基本很基本很基本的API问题新手学习java spring, hibernate或者struts的问题
怎么能学成J2EE的全能access java parent class protected variable question
[合集] 这个annotation,...关于struts和spring的几个疑问
你们写个CRUD的web application会不会用些高级一点的东西?spring到底有什么好处?
相关话题的讨论汇总
话题: c++话题: gc话题: 股票交易话题: java话题: 实时
进入Java版参与讨论
1 (共1页)
d****n
发帖数: 12461
1
例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?
g*****g
发帖数: 34805
2
不适合做要求很高的事实系统。非要上就得用 azul 之类的 JVM.

【在 d****n 的大作中提到】
: 例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
: 集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?

b*******s
发帖数: 5216
3
软实时是可能的,但性能不会太好

【在 d****n 的大作中提到】
: 例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
: 集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?

b*******s
发帖数: 5216
4
不过是有相当数量的legacy的金融系统是java写的

【在 d****n 的大作中提到】
: 例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
: 集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?

w**z
发帖数: 8232
5
还像在哪见过,把heap搞大,调Gc参数让gc 不发生,然后定时rolling restart。不过
总的来说,gc 搞实时有点费劲。

【在 d****n 的大作中提到】
: 例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
: 集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?

z*******3
发帖数: 13709
6
你多开几个nodes,哪有几个node都同时gc的道理
在发送请求之前先verify一下
短时间内无响应直接换下一个node
总有能响应的,这样就能绕开了gc停顿了
前提是你网络的latency不会太高,其实很多烂网络一个ping都几十ms
去纠结内存gc的停顿纯粹吃太饱了
游戏行当就有用java做server的
没事

【在 d****n 的大作中提到】
: 例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
: 集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?

d****n
发帖数: 12461
7
我们这个需求有些不太一样,数据分布,结果却要同时返回。

【在 z*******3 的大作中提到】
: 你多开几个nodes,哪有几个node都同时gc的道理
: 在发送请求之前先verify一下
: 短时间内无响应直接换下一个node
: 总有能响应的,这样就能绕开了gc停顿了
: 前提是你网络的latency不会太高,其实很多烂网络一个ping都几十ms
: 去纠结内存gc的停顿纯粹吃太饱了
: 游戏行当就有用java做server的
: 没事

z*******3
发帖数: 13709
8
没有replica?
同一个数据集中存放,不分布?
这样的话,一旦有一个node挂了,岂不是完蛋?
具体说说什么需求?
股票交易平台不需要保证real time
客户端发送一个request,处理都需要一定时间,这里面还涉及到transaction的操作
也慢,而且也没有必要,几十ms的停顿绝大多数人压根感受不到
包括买股票的,买股票很多broker都是今天你下单,明天才告诉你买了多少
bmo买美股就是这样,很多交易所也不允许你当天买了当天就卖
而且从挂出交易价格,到真正成交也有明显的延迟,也不是说你现在下单买了
马上就有人卖给你,经常会出现没有人卖的情况,或者买卖双方价格有差距
这些都无法马上成交,这种延迟远远超过机器的延迟
而且本身网络的各种latency就很明显,都明显超过内存的操作,超过几十倍都不只
gc这种只要不太大,一般停顿时间都感受不到,比起网络的延迟来说
忽略不计都没啥问题
用专业点话说就是,股票交易平台这种,保证total ordering就好了
其他不管,real time在server side其实并不是主流需求,倒是在手机这种小部件上
比较主流,因为游戏的刷屏如果太慢,人眼可以感受得到
一般一秒30真以上,1000/30大概也就是30ms以内必需完成一个更新
所以这个精确到ms还是make sense的,平台real time纯粹都是扯蛋,都是忽悠
server side的实时需求我还没遇到过

【在 d****n 的大作中提到】
: 我们这个需求有些不太一样,数据分布,结果却要同时返回。
F****n
发帖数: 3271
9
股票交易是对实时要求最高的应用之一,
high frequency trading 几毫秒就是几千万上亿的进出
即使不是 high frequency 的 bid 系统,delay也会坏事
这种东西Java最多做做界面

【在 z*******3 的大作中提到】
: 没有replica?
: 同一个数据集中存放,不分布?
: 这样的话,一旦有一个node挂了,岂不是完蛋?
: 具体说说什么需求?
: 股票交易平台不需要保证real time
: 客户端发送一个request,处理都需要一定时间,这里面还涉及到transaction的操作
: 也慢,而且也没有必要,几十ms的停顿绝大多数人压根感受不到
: 包括买股票的,买股票很多broker都是今天你下单,明天才告诉你买了多少
: bmo买美股就是这样,很多交易所也不允许你当天买了当天就卖
: 而且从挂出交易价格,到真正成交也有明显的延迟,也不是说你现在下单买了

z*******3
发帖数: 13709
10
delay就delay,不丢数据就行了,大不了放个cache
保证ordering不要错就没啥问题,delay几个ms后面补回来
前一段不是有人说嘛,nasdaq的系统是java写的,我绝对信
股票交易都被神话了,一堆红马甲在那边拿着纸票互相喊,去哪里来的实时
一个马甲跑过去都几秒,你要跟我说导弹拦截,这个要求real time
这个我信,但是股票交易平台,只要保证不丢包,ordering没错
其实慢一点还真不是什么大事,而且用户根本感受不到
网络的latency绝对比内存的操作要慢一个数量级,比硬盘的操作都慢一个数量级

【在 F****n 的大作中提到】
: 股票交易是对实时要求最高的应用之一,
: high frequency trading 几毫秒就是几千万上亿的进出
: 即使不是 high frequency 的 bid 系统,delay也会坏事
: 这种东西Java最多做做界面

相关主题
怎么能学成J2EE的全能新手问题 -- dynamic variable and dynamic functions.
[合集] 这个annotation,...做Java web development 一定要 struts + spring + hibernate 吗
你们写个CRUD的web application会不会用些高级一点的东西?j2ee without EJB
进入Java版参与讨论
z*******3
发帖数: 13709
11
“high frequency trading 几毫秒就是几千万上亿的进出”
这种都是throughput
而且个股之间的dependencies非常少
你买你的,我买我的,transaction可以把微粒度调到最低
而且我曾经遇到过,我送的单,当我中途撤销的时候,交易了一半掉
也就是这个其实压根就没有用户控制的transaction,电脑控制的
交易成功多少就是多少,中途撤单并不能保证你全额退款,可能压根就不退
或者只退一半,因为另外一半交易成功了,这个用行话就是
不sequentially equivalent,那这种transaction做起来就太容易了
跟一般商业银行的交易比起来,这个transaction还真不是个事
加上本身就是通过网络传输的数据,所以可以通过内网来scale out
保证内网的速度别太低就行,内存操作那点gc时间,完全没有必要在乎
实在不行买点内存,我不gc行么?股票交易也有高潮和低潮
一般开盘时候最高潮,一个小时两个小时之后,交易高峰就会回落
这个时候gc也可以,都有很多办法,没有必要跟gc那点停顿去死磕
死磕gc停顿还不如想办法把网速提高一点,内存的io和操作比起网络,那是要快太多了

【在 F****n 的大作中提到】
: 股票交易是对实时要求最高的应用之一,
: high frequency trading 几毫秒就是几千万上亿的进出
: 即使不是 high frequency 的 bid 系统,delay也会坏事
: 这种东西Java最多做做界面

z*******3
发帖数: 13709
12
股票交易要真那么牛逼要求
估计现在都在用主机
问题在于,你什么时候听说过主机用在股票交易平台上?
hpc都少,就是分布式那一套,java系统占大部分
nasdaq用java写的我一点都不怀疑
z*******3
发帖数: 13709
13
随手google来的
Ex employee • 2 years ago
Actually, the NASDAQ Genium INET system uses a trading engine developed in
Java. It runs on RedHat.
z*******3
发帖数: 13709
d****i
发帖数: 4809
15
不是这个领域,但是根据金融界的朋友,实时系统基本都是C++, 甚至还有直接用硬件
FPGA解决的方法。

【在 d****n 的大作中提到】
: 例如股票交易系统。今天碰到个牛说java有gc,那个几十几百ms就会造成问题,单纯用
: 集群也没法解决,因为每台机器都有。不知道业界比较成熟的方案是什么样的?

d****n
发帖数: 12461
16
只有若干个副本吧,n>=3,但是远少于所有服务器的数量。

【在 z*******3 的大作中提到】
: 没有replica?
: 同一个数据集中存放,不分布?
: 这样的话,一旦有一个node挂了,岂不是完蛋?
: 具体说说什么需求?
: 股票交易平台不需要保证real time
: 客户端发送一个request,处理都需要一定时间,这里面还涉及到transaction的操作
: 也慢,而且也没有必要,几十ms的停顿绝大多数人压根感受不到
: 包括买股票的,买股票很多broker都是今天你下单,明天才告诉你买了多少
: bmo买美股就是这样,很多交易所也不允许你当天买了当天就卖
: 而且从挂出交易价格,到真正成交也有明显的延迟,也不是说你现在下单买了

g*****g
发帖数: 34805
17
nasdaq可能有很大一部分用java写的,但不意味着核心matching的部分也是用java写的。
我认为用C/C++来写实时部分很合理。

【在 z*******3 的大作中提到】
: delay就delay,不丢数据就行了,大不了放个cache
: 保证ordering不要错就没啥问题,delay几个ms后面补回来
: 前一段不是有人说嘛,nasdaq的系统是java写的,我绝对信
: 股票交易都被神话了,一堆红马甲在那边拿着纸票互相喊,去哪里来的实时
: 一个马甲跑过去都几秒,你要跟我说导弹拦截,这个要求real time
: 这个我信,但是股票交易平台,只要保证不丢包,ordering没错
: 其实慢一点还真不是什么大事,而且用户根本感受不到
: 网络的latency绝对比内存的操作要慢一个数量级,比硬盘的操作都慢一个数量级

d****n
发帖数: 12461
18
大N也自己写C/C++吗?我以为现在高大上都是java+js+hadoop/c*+kafka/storm了。

的。

【在 g*****g 的大作中提到】
: nasdaq可能有很大一部分用java写的,但不意味着核心matching的部分也是用java写的。
: 我认为用C/C++来写实时部分很合理。

g*****g
发帖数: 34805
19
我不写C++很多年了,但什么样的需要用什么样的语言。实时系统Java不如C/C++合适。

【在 d****n 的大作中提到】
: 大N也自己写C/C++吗?我以为现在高大上都是java+js+hadoop/c*+kafka/storm了。
:
: 的。

z*******3
发帖数: 13709
20
问题在于我觉得股票交易本身并不需要实时处理

的。

【在 g*****g 的大作中提到】
: nasdaq可能有很大一部分用java写的,但不意味着核心matching的部分也是用java写的。
: 我认为用C/C++来写实时部分很合理。

相关主题
看Spring真是头大关于struts和spring的几个疑问
新手学习java spring, hibernate或者struts的问题spring到底有什么好处?
access java parent class protected variable questionzhaoce大牛能不能high level的讲解一下java concurrency?
进入Java版参与讨论
z*******3
发帖数: 13709
21
不写吧,要看什么平台
他们如果做手机上的播放器
这个可能还真需要c/c++
这个是实时的领域
大系统本身系统传输,内部通信都非常耗时
gc比起来,那是非常快了
网络系统公网就很慢,其次内网也不快
股票交易这种涉及到人的行为的就更慢
还有transaction的处理,也是狂拖时间的一个环节
这几个都比gc要慢很多

【在 d****n 的大作中提到】
: 大N也自己写C/C++吗?我以为现在高大上都是java+js+hadoop/c*+kafka/storm了。
:
: 的。

z*******3
发帖数: 13709
22
server side实时都是主机在做
因为主机避开了网络io,节省的时间是大大的
而且也避开了db的transaction,自己写transaction
分布式都要用到网络,肯定做不到real time处理
各种算法也都有明显的延迟,不同nodes之间的沟通都需要通过网络
网络非常非常慢,再快都快不到哪里去,比起内存操作来说
所以分布式不可能做到实时,一般实时都是单机
股票交易我没听说有哪个交易所采购过主机
民航倒是很多
db之所以现在不适合搞分布式也跟db本身强要求acid有关
一个consistency和networking就是明显的冲突
再快也做不到real time
z*******3
发帖数: 13709
23
一般来说
cpu操作速度>>内存操作>>硬盘操作>>网络操作
>>大概都是100倍左右的对比,基本上是这个数量级
也就是说,网络一次io,内存可以执行10000次内存操作这种数量级
只要你的java代码写得不是那么烂,10000也该够一次gc了
而且gc本身还可以被中断,释放一部分内存之后转入运行状态
所以如果不是非常大gc的话,一般不是问题
当然话不说死,要是有人写出memory leak的话,那怎样都是问题
分布式最大的问题不是latency,而是丢包
数据因为各种莫名其妙的原因丢失,所以很多时候为了保证不丢数据
在每一次协议执行的时候,都会persistence一下,也就是对硬盘做操作
那这种就更慢了,而股票交易最重要的是别丢数据
否则麻烦大了,丢钱对谁来说都是大事
所以这种操作基本上可以肯定存在
所以说到底就是所谓股票交易用real time本身就是一个伪命题
纯粹是胡扯的可能性很大
f*****e
发帖数: 2992
24
What about real time bidding?

的。

【在 g*****g 的大作中提到】
: nasdaq可能有很大一部分用java写的,但不意味着核心matching的部分也是用java写的。
: 我认为用C/C++来写实时部分很合理。

f*****e
发帖数: 2992
25
我们公司用的就是你说的那些!

【在 d****n 的大作中提到】
: 大N也自己写C/C++吗?我以为现在高大上都是java+js+hadoop/c*+kafka/storm了。
:
: 的。

z****e
发帖数: 54598
26
again
total ordering足够了
bidding并不需要在处理时候real time
你只要保证进来的单顺序别搞错就行了
这个我搞分布式的,这种东西你们要是谁不懂理论跟我来扯蛋
差距是有一点,光举例没用

【在 f*****e 的大作中提到】
: What about real time bidding?
:
: 的。

z****e
发帖数: 54598
27
拍卖,bidding这种东西就是典型的ordering的应用
就是你表出现两个同时,因为缺少global clock
你必需想出一种方式来确认其ordering,否则是灾难
期间latency没有人在乎,因为不至于出现错误
顶多慢那么几十ms,那这个不重要
其实股票交易市场,比如a股,集合竞价就是bidding
这个其实是异步处理的,大家一堆人同时发单
但是呢,你要等5分钟才能看到结果
5分钟阿,你可以做n*10^10次gc了
z****e
发帖数: 54598
28
当然对于客户端的要求可能就是需要real time
因为你单没送出去,别人送出去了,那结果就不一样
server side没听说谁搞成real time的
都是忽悠,装得很牛逼的样子
S**********C
发帖数: 161
29
老赵又来了,不懂你就直接说不懂,不要扮成专家误导别人,如果客户发个IOC(
Immediate Or Cancel) Order 过来,你说你等会,我过5分钟才告诉你结果,你这是咸
丰年代的交易系统啊?

【在 z****e 的大作中提到】
: 拍卖,bidding这种东西就是典型的ordering的应用
: 就是你表出现两个同时,因为缺少global clock
: 你必需想出一种方式来确认其ordering,否则是灾难
: 期间latency没有人在乎,因为不至于出现错误
: 顶多慢那么几十ms,那这个不重要
: 其实股票交易市场,比如a股,集合竞价就是bidding
: 这个其实是异步处理的,大家一堆人同时发单
: 但是呢,你要等5分钟才能看到结果
: 5分钟阿,你可以做n*10^10次gc了

z****e
发帖数: 54598
30

a股的集合竞价时候中途撤单不就是15分钟才告诉你结果?
again
total ordering是什么,你先去理解之后再来跟我扯蛋
否则理论上你跟我差距太大

【在 S**********C 的大作中提到】
: 老赵又来了,不懂你就直接说不懂,不要扮成专家误导别人,如果客户发个IOC(
: Immediate Or Cancel) Order 过来,你说你等会,我过5分钟才告诉你结果,你这是咸
: 丰年代的交易系统啊?

相关主题
不明白Spring Framework很正常我Google过了,还是不明白Framework
java所有工具里面,就数spring最简单了java的东西好多
c++熟手如何学习Java直到能够参与开发企业级应用?InetAddress.getLocalHost() in Ubuntu does not work
进入Java版参与讨论
z****e
发帖数: 54598
31
集合竞价只是a股一个特例
我说的不需要等几分钟,一样适用
gc只要tune得好,最长停顿不太可能太离谱
以前天朝几千万客户的四台jvm,一般gc停顿控制在200ms以内
大多数也就是50-70ms之间,上100ms都很少,没啥问题
这里面还有大量transaction交易

【在 S**********C 的大作中提到】
: 老赵又来了,不懂你就直接说不懂,不要扮成专家误导别人,如果客户发个IOC(
: Immediate Or Cancel) Order 过来,你说你等会,我过5分钟才告诉你结果,你这是咸
: 丰年代的交易系统啊?

S**********C
发帖数: 161
32
还什么total ordering,什么理论差距,你承认一下自己不懂会死吗?一个交易系统由
哪些components 构成,
比如routing, market data,etc,etc,哪些部分是latency sensitive,你肯定clueless
,你就洗洗睡吧,不要把在programing 那套无知者无畏的态度带过来。

【在 z****e 的大作中提到】
: 干
: a股的集合竞价时候中途撤单不就是15分钟才告诉你结果?
: again
: total ordering是什么,你先去理解之后再来跟我扯蛋
: 否则理论上你跟我差距太大

z****e
发帖数: 54598
33
干,到底是谁不懂?
我例子说的是集合竞价,你显然看不懂什么是集合竞价
http://baike.baidu.com/view/24186.htm
自己看,是不是需要5分钟以上才能响应撤单的需求
什么是total ordering都不知道,你还在纠结哪里是latency sensitive
跟你说了,股票交易并非什么latency sensitive的东西
因为股票交易本身并不需要real time反应,都是米犹瞎吹
否则你告诉我网络的latency你怎么解决?这个比gc的停顿不知道要慢多少倍
还routing,你告诉我怎么routing会比内存操作更快,哪个网络io能比内存快?
还market data,你忽悠什么呢?
我的例子你看不懂,我说的理论你也看不懂
对分布式你知道什么?不是我说你,你在我面前就是一个婴儿

clueless

【在 S**********C 的大作中提到】
: 还什么total ordering,什么理论差距,你承认一下自己不懂会死吗?一个交易系统由
: 哪些components 构成,
: 比如routing, market data,etc,etc,哪些部分是latency sensitive,你肯定clueless
: ,你就洗洗睡吧,不要把在programing 那套无知者无畏的态度带过来。

z****e
发帖数: 54598
34
来这里跟我扯蛋理论
http://www.mitbbs.com/article_t0/CS/31215505.html
我最近处于扯不出蛋的状态
求牛人educate
但是如果没有这个水平,那还是拉倒吧

clueless

【在 S**********C 的大作中提到】
: 还什么total ordering,什么理论差距,你承认一下自己不懂会死吗?一个交易系统由
: 哪些components 构成,
: 比如routing, market data,etc,etc,哪些部分是latency sensitive,你肯定clueless
: ,你就洗洗睡吧,不要把在programing 那套无知者无畏的态度带过来。

a**********n
发帖数: 115
35
好像股票交易确实对实时要求很高。。
记得一篇文章说过, 一些公司, 就是为了这个, 把自己的server 放在交易所边上。
挣点网络上的时间。
S**********C
发帖数: 161
36
还来劲了,你歇着吧,真是浪费时间,撤了。

【在 z****e 的大作中提到】
: 来这里跟我扯蛋理论
: http://www.mitbbs.com/article_t0/CS/31215505.html
: 我最近处于扯不出蛋的状态
: 求牛人educate
: 但是如果没有这个水平,那还是拉倒吧
:
: clueless

z*******3
发帖数: 13709
37
区分客户端和server side
自己的server,那个不是用来撮合交易的
那个只是送单的,说白了跟手机没啥区别
server side很多概念跟客户端不一样
不是阿猫阿狗弄台破机器,买台破server,自己一阵乱写就能代表主流的

【在 a**********n 的大作中提到】
: 好像股票交易确实对实时要求很高。。
: 记得一篇文章说过, 一些公司, 就是为了这个, 把自己的server 放在交易所边上。
: 挣点网络上的时间。

d****n
发帖数: 12461
38
是不是flagt五大啊?

【在 f*****e 的大作中提到】
: 我们公司用的就是你说的那些!
d****n
发帖数: 12461
39
transaction只是实时系统的一部分,这部分就是排序,但是和网络质量有关(~50ms)
但是另一部分是实时pub/sub。每个transaction要传播到所有的服务器上面,等到得到
最慢的那个服务器sync了以后就可以pub。然后上一系列transaction又会影响下一系列
transaction。
因为gc,所以这个服务器sync的速度上不去(worst >500ms),所以目前transaction会
有瓶颈。

【在 z****e 的大作中提到】
: 拍卖,bidding这种东西就是典型的ordering的应用
: 就是你表出现两个同时,因为缺少global clock
: 你必需想出一种方式来确认其ordering,否则是灾难
: 期间latency没有人在乎,因为不至于出现错误
: 顶多慢那么几十ms,那这个不重要
: 其实股票交易市场,比如a股,集合竞价就是bidding
: 这个其实是异步处理的,大家一堆人同时发单
: 但是呢,你要等5分钟才能看到结果
: 5分钟阿,你可以做n*10^10次gc了

z****e
发帖数: 54598
40
我说的transaction是db里面的transaction
感觉你们gc停顿时间太长了
当前什么java版本?
1.6?换1.7,然后调成g1试试
>500ms的gc停顿jvm需要tune了
可能需要在代码中插入一些system.gc()
这个虽然不能保证一定会执行gc,但是在计算资源有富余的时候
一般还都是会执行的,还有就是spring这些是不是没用?
感觉都是singleton的话,spring压根不释放对象引用
gc也gc不掉,直接绕开了,速度快很多,整个spring就像一个大obj cache
以前我做的那个系统一般能够控制在~100ms
少量能够控制在55ms之内这样,也是pub/sub系统
不过主要是给美帝公司提供接口,比如twitter
光pub就需要gc > 500ms感觉有些问题
pub的操作相对简单,你们用了轮子没?
比如storm?spark?还是mq?

【在 d****n 的大作中提到】
: transaction只是实时系统的一部分,这部分就是排序,但是和网络质量有关(~50ms)
: 但是另一部分是实时pub/sub。每个transaction要传播到所有的服务器上面,等到得到
: 最慢的那个服务器sync了以后就可以pub。然后上一系列transaction又会影响下一系列
: transaction。
: 因为gc,所以这个服务器sync的速度上不去(worst >500ms),所以目前transaction会
: 有瓶颈。

相关主题
InetAddress.getLocalHost() in Ubuntu does not work[合集] 这个annotation,...
问一个很基本很基本很基本的API问题你们写个CRUD的web application会不会用些高级一点的东西?
怎么能学成J2EE的全能新手问题 -- dynamic variable and dynamic functions.
进入Java版参与讨论
z****e
发帖数: 54598
41
今天想到一个
你们的pub本身不能分流?
不能爆instances?

【在 d****n 的大作中提到】
: transaction只是实时系统的一部分,这部分就是排序,但是和网络质量有关(~50ms)
: 但是另一部分是实时pub/sub。每个transaction要传播到所有的服务器上面,等到得到
: 最慢的那个服务器sync了以后就可以pub。然后上一系列transaction又会影响下一系列
: transaction。
: 因为gc,所以这个服务器sync的速度上不去(worst >500ms),所以目前transaction会
: 有瓶颈。

b*******s
发帖数: 5216
42
he knows nothing about realtime

【在 S**********C 的大作中提到】
: 老赵又来了,不懂你就直接说不懂,不要扮成专家误导别人,如果客户发个IOC(
: Immediate Or Cancel) Order 过来,你说你等会,我过5分钟才告诉你结果,你这是咸
: 丰年代的交易系统啊?

W***o
发帖数: 6519
43
realtime系统一般用什么实现?c++ 还是c 多一些?
d****i
发帖数: 4809
44
This depends. For server based real-time system, more C++, less C. If you
talk about embedded real time system like many industrial devices or
consumer devices, then more C, with a little bit C++ on UI and upper layer
side.

【在 W***o 的大作中提到】
: realtime系统一般用什么实现?c++ 还是c 多一些?
b*******s
发帖数: 5216
45
嵌入式c多,其实速度上是c++11要更快,但嵌入式上面所有的工具都很陈旧,支持很差
国内的做高并发后端的c++还是主流,不过java也在增多

【在 W***o 的大作中提到】
: realtime系统一般用什么实现?c++ 还是c 多一些?
d****i
发帖数: 4809
46
我们在好几个支持不同的嵌入式系统的平台上跑过测试,C还是比C++效率高一点(90%
的样子),主要还是各种嵌入式上面的compiler要么只支持C, 要么C++的compiler非常
有限制,毕竟是跑在bare metal上的,不能玩花样,只能老老实实。而且因为嵌入式上
的操作系统都是C写的,用C++的话要在system call上套一层,自然效率低一些,而且C
++不如C来的容易按照机器指令集来优化。至于C++11,在几乎所有embedded平台上的编
译器是完全不支持,太多上层的东西了,完全不能适应底层的需求。

【在 b*******s 的大作中提到】
: 嵌入式c多,其实速度上是c++11要更快,但嵌入式上面所有的工具都很陈旧,支持很差
: 国内的做高并发后端的c++还是主流,不过java也在增多

b*******s
发帖数: 5216
47
我说的c++11,比如以前在葵版我给的求斐波那契数列某个值比如F(20)的例子,O(1
)复杂度

且C

【在 d****i 的大作中提到】
: 我们在好几个支持不同的嵌入式系统的平台上跑过测试,C还是比C++效率高一点(90%
: 的样子),主要还是各种嵌入式上面的compiler要么只支持C, 要么C++的compiler非常
: 有限制,毕竟是跑在bare metal上的,不能玩花样,只能老老实实。而且因为嵌入式上
: 的操作系统都是C写的,用C++的话要在system call上套一层,自然效率低一些,而且C
: ++不如C来的容易按照机器指令集来优化。至于C++11,在几乎所有embedded平台上的编
: 译器是完全不支持,太多上层的东西了,完全不能适应底层的需求。

b*******s
发帖数: 5216
48
嵌入式领域的一个问题是,做专用编译器的水准不如那些linux下做通用编译器的水平
高,或者没有足够资源做。
很多复杂优化都做不出来。c领域的新标准大家也得过且过不愿意跟上。这个和嵌入式领
域不需要真正的高性能,多数情况只需要在板子上能跑不卡这种需求有关。
嵌入式在工业界的发展,底层都不是软件推动的,做软件的好的是比较稳,对学习新知
识要求不迫切
坏处是,做的比较琐碎,积累的经验不仅过时,而且积累周期很长
一些简单系统调用的overhead其实还好了,现在的嵌入式系统的硬件一般也不错了,比
我七八年前才工作时的要强不知道多少了,很多限制已经没有那么紧了。前几年我以前
在国内工作的单位他们就都在板子上用c#写界面了,而且听说现在都在用c#写一些中间
层的应用了,只有信号处理等领域还在用c写
c++一样可以直接嵌汇编,自己手工优化,除了驱动,没什么c能做c++反而不能做的。
我以前第一个项目就是做一个信号处理的,做一组滤波器,一部分就用了单指令多数据
流的指令集

且C

【在 d****i 的大作中提到】
: 我们在好几个支持不同的嵌入式系统的平台上跑过测试,C还是比C++效率高一点(90%
: 的样子),主要还是各种嵌入式上面的compiler要么只支持C, 要么C++的compiler非常
: 有限制,毕竟是跑在bare metal上的,不能玩花样,只能老老实实。而且因为嵌入式上
: 的操作系统都是C写的,用C++的话要在system call上套一层,自然效率低一些,而且C
: ++不如C来的容易按照机器指令集来优化。至于C++11,在几乎所有embedded平台上的编
: 译器是完全不支持,太多上层的东西了,完全不能适应底层的需求。

z****e
发帖数: 54598
49
很简单,这种机会就赌上你全家
我懂的话,你全家死绝,哈哈

【在 b*******s 的大作中提到】
: he knows nothing about realtime
z****e
发帖数: 54598
50
快来围观做嵌入式的傻逼啊
做个鸡八猫嵌入式还觉得自己牛逼
傻逼到家的行当
你想做嵌入式就做呗,做个探阴器就可以发家致富了
日本那些宅男就靠你这个产品来探测妇女阴部了
哈哈
工业界压根没有人鸟底层了,底层你个大便啊
现在机器便宜得跟什么一样,随随便便就可以搞个东西出来
嵌入式你该换个行当去装逼,搞软件没有人在乎这些东西
因为cheap,而且越来越cheap

式领

【在 b*******s 的大作中提到】
: 嵌入式领域的一个问题是,做专用编译器的水准不如那些linux下做通用编译器的水平
: 高,或者没有足够资源做。
: 很多复杂优化都做不出来。c领域的新标准大家也得过且过不愿意跟上。这个和嵌入式领
: 域不需要真正的高性能,多数情况只需要在板子上能跑不卡这种需求有关。
: 嵌入式在工业界的发展,底层都不是软件推动的,做软件的好的是比较稳,对学习新知
: 识要求不迫切
: 坏处是,做的比较琐碎,积累的经验不仅过时,而且积累周期很长
: 一些简单系统调用的overhead其实还好了,现在的嵌入式系统的硬件一般也不错了,比
: 我七八年前才工作时的要强不知道多少了,很多限制已经没有那么紧了。前几年我以前
: 在国内工作的单位他们就都在板子上用c#写界面了,而且听说现在都在用c#写一些中间

相关主题
做Java web development 一定要 struts + spring + hibernate 吗新手学习java spring, hibernate或者struts的问题
j2ee without EJBaccess java parent class protected variable question
看Spring真是头大关于struts和spring的几个疑问
进入Java版参与讨论
L***s
发帖数: 1148
51

(1
展开说说?
复杂度跟语言不是正交的吗?

【在 b*******s 的大作中提到】
: 我说的c++11,比如以前在葵版我给的求斐波那契数列某个值比如F(20)的例子,O(1
: )复杂度
:
: 且C

b*******s
发帖数: 5216
52
编译期决定,在编译阶段能够提示编译器进行计算,实际代码里就已经是一个常数而不
需要再次计算了

【在 L***s 的大作中提到】
:
: (1
: 展开说说?
: 复杂度跟语言不是正交的吗?

b*******s
发帖数: 5216
53
前面你都讲了多少外行话了,呵呵,还装

【在 z****e 的大作中提到】
: 很简单,这种机会就赌上你全家
: 我懂的话,你全家死绝,哈哈

b*******s
发帖数: 5216
54
现在做金融,能不能鄙视下做企业应用的?(好虫说过就是点垃圾业务逻辑,没劲)
其实嵌入式比你那块有趣
别装你在big event里面好不好

【在 z****e 的大作中提到】
: 快来围观做嵌入式的傻逼啊
: 做个鸡八猫嵌入式还觉得自己牛逼
: 傻逼到家的行当
: 你想做嵌入式就做呗,做个探阴器就可以发家致富了
: 日本那些宅男就靠你这个产品来探测妇女阴部了
: 哈哈
: 工业界压根没有人鸟底层了,底层你个大便啊
: 现在机器便宜得跟什么一样,随随便便就可以搞个东西出来
: 嵌入式你该换个行当去装逼,搞软件没有人在乎这些东西
: 因为cheap,而且越来越cheap

1 (共1页)
进入Java版参与讨论
相关主题
spring到底有什么好处?问一个很基本很基本很基本的API问题
zhaoce大牛能不能high level的讲解一下java concurrency?怎么能学成J2EE的全能
不明白Spring Framework很正常[合集] 这个annotation,...
java所有工具里面,就数spring最简单了你们写个CRUD的web application会不会用些高级一点的东西?
c++熟手如何学习Java直到能够参与开发企业级应用?新手问题 -- dynamic variable and dynamic functions.
我Google过了,还是不明白Framework做Java web development 一定要 struts + spring + hibernate 吗
java的东西好多j2ee without EJB
InetAddress.getLocalHost() in Ubuntu does not work看Spring真是头大
相关话题的讨论汇总
话题: c++话题: gc话题: 股票交易话题: java话题: 实时