Redian新闻
>
我们来做点unit test吧,座位数从3000改为4
avatar
我们来做点unit test吧,座位数从3000改为4# Programming - 葵花宝典
w*w
1
看看bug都改正后的性能怎样。
Test case 1:
static void test1() {
testReserve(0, 3, 7);
testReserve(0, 0, 2);
testReserve(0, 2, 8);
testReserve(0, 0, 3);
testReserve(0, 0, 10);
testReserve(0, 0, 10);
}
Reserving Start=3 Length=7
Succeed number=1 start=0 length=10
Reserving Start=0 Length=2
Succeed number=1 start=0 length=3
Reserving Start=2 Length=8
Succeed number=2 start=0 length=10
Reserving Start=0 Length=3
Succeed number=3 start=0 length=10
Reserving Start=0 Length=10
Succeed number=4 start=0 length=10
Reserving Start=0 Length=10
Failed
问题:票长度不对,start也不对。
avatar
g*u
2
座位数3000这个常数是赌约中规定的。老魏现在网络那块还没放出来,
先让他把那个折腾出来再说。这个你要debug写test case这些先缓缓,
现在要是第三方给老魏的code加patch怕goodbug不服。
等这个赌局完了,有兴趣的同学我们可以一起把老魏的代码的质量
再提高上去。
多谢!

【在 w****w 的大作中提到】
: 看看bug都改正后的性能怎样。
: Test case 1:
: static void test1() {
: testReserve(0, 3, 7);
: testReserve(0, 0, 2);
: testReserve(0, 2, 8);
: testReserve(0, 0, 3);
: testReserve(0, 0, 10);
: testReserve(0, 0, 10);
: }

avatar
w*w
3
老魏现在的代码质量,你还认为有胜算?还要赌下去?

【在 g****u 的大作中提到】
: 座位数3000这个常数是赌约中规定的。老魏现在网络那块还没放出来,
: 先让他把那个折腾出来再说。这个你要debug写test case这些先缓缓,
: 现在要是第三方给老魏的code加patch怕goodbug不服。
: 等这个赌局完了,有兴趣的同学我们可以一起把老魏的代码的质量
: 再提高上去。
: 多谢!

avatar
t*1
4
本来就是我内部unit test的代码。
票长度啥时候对过?
就是要看请求能不能造成碎片的。当然打印原始票长度了。
还有这个应用是every microsecond counts。返回的票马上就release了。都快死了的
还给他改内部值?给用户汇报一个座位号就好了。
我还是希望大家都能谦虚谨慎。我自认在本版没有主动评价过任何一位ID的工作。就是
评价过一次bihai的串口,也是主要给他出主意。
至于代码风格,和有些地方为什么这么写?我代码也看了一些,基本上啥风格都能接受
。混搭也没意见。这个评论的时候要非常非常小心。你怎么敢担保你学习的教科书一定
是对的?

【在 g****u 的大作中提到】
: 座位数3000这个常数是赌约中规定的。老魏现在网络那块还没放出来,
: 先让他把那个折腾出来再说。这个你要debug写test case这些先缓缓,
: 现在要是第三方给老魏的code加patch怕goodbug不服。
: 等这个赌局完了,有兴趣的同学我们可以一起把老魏的代码的质量
: 再提高上去。
: 多谢!

avatar
t*1
5
代码质量?我的几十万行代码DMA直接连接多个主要交易市场,个位us延迟,代码只有
我一个人能访问,连续多年持续运行。regulator都没意见,你倒是有意见了。呵呵。
代码质量你还真的说了不算。

【在 w****w 的大作中提到】
: 老魏现在的代码质量,你还认为有胜算?还要赌下去?
avatar
g*u
6
老魏你别跟他们罗嗦,你东西拿出来让人看,自然有人会说好说坏。
赶紧回去把你的服务器写了。

【在 t**********1 的大作中提到】
: 代码质量?我的几十万行代码DMA直接连接多个主要交易市场,个位us延迟,代码只有
: 我一个人能访问,连续多年持续运行。regulator都没意见,你倒是有意见了。呵呵。
: 代码质量你还真的说了不算。

avatar
w*w
7
你这是害老魏啊,到时有一个两个这样的bug,连正确性都通不过还谈什么性能?

【在 g****u 的大作中提到】
: 老魏你别跟他们罗嗦,你东西拿出来让人看,自然有人会说好说坏。
: 赶紧回去把你的服务器写了。

avatar
t*1
8
现在这时期是看人品的时候,你挑刺我没有NPC优化我还可以当你正常讨论。
现在这个你要是硬说是bug我就立刻明白咋回事了。
我打酱油的时间有的是。你硬要在我这儿注册一下人品到底是为啥?

【在 w****w 的大作中提到】
: 你这是害老魏啊,到时有一个两个这样的bug,连正确性都通不过还谈什么性能?
avatar
w*w
9
我来问你一个问题,如果飞机上的软件是你一个人写的,不允许别人看,这飞机你自己
敢做不?交易出点错很可怕?

【在 t**********1 的大作中提到】
: 代码质量?我的几十万行代码DMA直接连接多个主要交易市场,个位us延迟,代码只有
: 我一个人能访问,连续多年持续运行。regulator都没意见,你倒是有意见了。呵呵。
: 代码质量你还真的说了不算。

avatar
g*u
10
再问你个问题,你协议中的respID是针对每个connection递增的,还是
全局递增的?一般来说都是针对每个connection递增的,但是因为你
核心是单线程,可以做到全局不重复递增。请解释下。

【在 t**********1 的大作中提到】
: 现在这时期是看人品的时候,你挑刺我没有NPC优化我还可以当你正常讨论。
: 现在这个你要是硬说是bug我就立刻明白咋回事了。
: 我打酱油的时间有的是。你硬要在我这儿注册一下人品到底是为啥?

avatar
t*1
11
摔一架飞机损失多少钱?
我动一下指头两秒内把全美国卖了损失多少钱?

【在 w****w 的大作中提到】
: 我来问你一个问题,如果飞机上的软件是你一个人写的,不允许别人看,这飞机你自己
: 敢做不?交易出点错很可怕?

avatar
t*1
12
RespID是全局递增保证唯一的。
这个可以做到跟核心无关,IO都是单线程的,可以在这里保证唯一。
即使多线程,locked increment也就一条指令。

【在 g****u 的大作中提到】
: 再问你个问题,你协议中的respID是针对每个connection递增的,还是
: 全局递增的?一般来说都是针对每个connection递增的,但是因为你
: 核心是单线程,可以做到全局不重复递增。请解释下。

avatar
w*w
13
show一下你的功力就可以了,放人一条生路。

【在 t**********1 的大作中提到】
: 现在这时期是看人品的时候,你挑刺我没有NPC优化我还可以当你正常讨论。
: 现在这个你要是硬说是bug我就立刻明白咋回事了。
: 我打酱油的时间有的是。你硬要在我这儿注册一下人品到底是为啥?

avatar
t*1
14
所以你来消耗我?等我到时候做不出来按照赌约自杀ID滚出去?

【在 w****w 的大作中提到】
: show一下你的功力就可以了,放人一条生路。
avatar
w*w
15
我无话可说。

【在 t**********1 的大作中提到】
: 摔一架飞机损失多少钱?
: 我动一下指头两秒内把全美国卖了损失多少钱?

avatar
t*1
16
其实我也无话可说。
对于搞政策制定的,人命也就是一系列数字而已。
这不是现实主义么?本版一贯笑贫不笑娼多年了,各位不也是很习惯么?

【在 w****w 的大作中提到】
: 我无话可说。
avatar
n*j
17
respID = reqID

【在 g****u 的大作中提到】
: 再问你个问题,你协议中的respID是针对每个connection递增的,还是
: 全局递增的?一般来说都是针对每个connection递增的,但是因为你
: 核心是单线程,可以做到全局不重复递增。请解释下。

avatar
g*u
18
不一样。老魏已经解释了。不然resp中不需要同时返回respID和reqID

【在 n****j 的大作中提到】
: respID = reqID
avatar
n*j
19
没仔细看老魏代码,不太明白为啥要这个 respID,是要给后端 DB 发的吗?

【在 g****u 的大作中提到】
: 不一样。老魏已经解释了。不然resp中不需要同时返回respID和reqID
avatar
g*u
20
有了这个全局唯一递增的respID,就可以验证老魏的算法是否有错。
赌局要求不能出现现在没票,过了一会儿又有票的情况。如果某
m-n区段的请求在respID=100被据了,任何respID>100都不能再卖
完全包含在m-n之间的票。
这是我的理解。

【在 n****j 的大作中提到】
: 没仔细看老魏代码,不太明白为啥要这个 respID,是要给后端 DB 发的吗?
avatar
n*j
21
用于测试目的,这么理解倒也可以。实际系统如果考虑到退票,这个不成立,一般回送
reqID 就可以了,往后端 DB 流数据倒是要另外一个 ID。
昨天赵老师说老魏的车次用 32 bit 不用字符串太抠门我就笑了,设计协议的时候当然
要编码
,去掉任何冗余数据,要我说 32 bit 都太浪费。

【在 g****u 的大作中提到】
: 有了这个全局唯一递增的respID,就可以验证老魏的算法是否有错。
: 赌局要求不能出现现在没票,过了一会儿又有票的情况。如果某
: m-n区段的请求在respID=100被据了,任何respID>100都不能再卖
: 完全包含在m-n之间的票。
: 这是我的理解。

avatar
a*a
22
机器交易,错起来,会亏费的。小玩家,几个米的本,上点杠杆,程序出错,几分钟就
全没了。knight capital,呢大的公司,交易出错,被吞并了。
比streaming放错节目严重不少。

【在 w****w 的大作中提到】
: 我无话可说。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。