由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 谁帮我测俩use case
相关主题
multithread: how to lock a thread同时train segm和obj detect
请教C的类型转换问题给几个teacherwei代码的评审意见吧
问一个sort的问题有自信能写出单机1M/s tcp req/response可以扔个简历过来
func调用结束时出错dereference a NULL pointer in C
C的问题,困惑中Java 问题,请教如何找出一个array里的duplicate segments?
大家帮我看看这个C程序为什么出错了请教个Bloomberg 的 C++ 题目
修正一下 Wei 的测试程序,结果腰斩再腰斩想写一个小程序,老也写不出来问问大家。
单机多线程抢票实际算法在c中如果一个function return 一个字符串
相关话题的讨论汇总
话题: start话题: total话题: length话题: printf话题: trains
进入Programming版参与讨论
1 (共1页)
g*****g
发帖数: 34805
1
不要Random。只测一个线路,每个单子都是起始站到终点站,一亿次。
再测从线路1到线路5000,3000单线路1,3000单线路2,以此类推,循环回来,总共一
亿次,也是每次起点到终点。
p**2
发帖数: 613
2
最近也在忙客户项目,
圣诞之后,我看看魏的代码,我来试试写一个。

【在 g*****g 的大作中提到】
: 不要Random。只测一个线路,每个单子都是起始站到终点站,一亿次。
: 再测从线路1到线路5000,3000单线路1,3000单线路2,以此类推,循环回来,总共一
: 亿次,也是每次起点到终点。

g****u
发帖数: 252
3
这两天小孩病了,坐不下来了。

【在 g*****g 的大作中提到】
: 不要Random。只测一个线路,每个单子都是起始站到终点站,一亿次。
: 再测从线路1到线路5000,3000单线路1,3000单线路2,以此类推,循环回来,总共一
: 亿次,也是每次起点到终点。

n*******7
发帖数: 181
4
osboxes@osboxes:~/proj/pc12306/Release$ ./pc12306
Total 55
start usecase1
Total time = 7.153685
start usecase2
Total time = 8.264017
diff --git a/pc12306.cpp b/pc12306.cpp
index 12ac896..c057c03 100644
--- a/pc12306.cpp
+++ b/pc12306.cpp
@@ -76,7 +76,7 @@ static void generateSearchPatterns() {
nSearches = offsets.size();
printf("Total %d\n", (int)nSearches);
for (Offsets::iterator it = offsets.begin(); it != offsets.end(); ++
it) {
- printf("%d %d %d\n", it->start ,it->length, it->length
- it->start);
+ //printf("%d %d %d\n", it->start ,it->length, it->length -
it->start);
}
}
@@ -167,6 +167,48 @@ static void benchmark() {
printf("Total time = %f\n", t2 - t1);
}
+static void usecase1() {
+ double t1 = getTime();
+ printf("start usecase1\n");
+ for (size_t i=0; i<100000000LL; i++) {
+ int train = 0;
+ int start = 0;
+ int length = SEGMENTS;
+ Ticket *t = trains[train]->allocate(start, length);
+ if (NULL != t) {
+ t = trains[train]->reserve(start, length, ticketPool
, t);
+ assert(t);
+ ticketPool->free(t);
+ }
+ }
+ double t2 = getTime();
+ printf("Total time = %f\n", t2 - t1);
+}
+
+static void usecase2() {
+ double t1 = getTime();
+ printf("start usecase2\n");
+ bool done=0;
+ for (size_t i=0; !done;) {
+ for (size_t j=0; !done && (j + for (size_t k=0; !done && (k<3000);
+ k++, i++, done=(i>=100000000LL)) {
+ int train = j;
+ int start = 0;
+ int length = SEGMENTS;
+ Ticket *t = trains[train]->allocate(start, length);
+ if (NULL != t) {
+ t = trains[train]->reserve(start, length, ticketPool
, t);
+ assert(t);
+ ticketPool->free(t);
+ }
+ } // end of k loop
+ } // end of j loop
+ } // i loop
+ double t2 = getTime();
+ printf("Total time = %f\n", t2 - t1);
+}
+
static bool volatile terminatePocess = false;
static bool volatile terminated1 = false;
static bool volatile terminated2 = false;
@@ -222,8 +264,10 @@ int main(int argc, char* argv[]) {
trains[i] = new TrainTicketMap();
trains[i]->initTickets(ticketPool);
}
- test1();
- benchmark();
+ //test1();
+ //benchmark();
+ usecase1();
+ usecase2();
return 0;
}
1 (共1页)
进入Programming版参与讨论
相关主题
在c中如果一个function return 一个字符串C的问题,困惑中
What is wrong?大家帮我看看这个C程序为什么出错了
a strange issue修正一下 Wei 的测试程序,结果腰斩再腰斩
请教各位先贤一个Perl 问题单机多线程抢票实际算法
multithread: how to lock a thread同时train segm和obj detect
请教C的类型转换问题给几个teacherwei代码的评审意见吧
问一个sort的问题有自信能写出单机1M/s tcp req/response可以扔个简历过来
func调用结束时出错dereference a NULL pointer in C
相关话题的讨论汇总
话题: start话题: total话题: length话题: printf话题: trains