日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asm 比 ucontext 快

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asm 比 ucontext 快 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

測試原裝libco的asm版 ?與 ?libco的ucontext版性能, 同一個機器、同一份代碼, 連接不同的libco實現庫。 ?asm版比ucontext快6倍左右。

但是有網友說:

但是1秒切換100萬次的應用不多,更多消耗在共享棧拷貝

更多消耗在設置高低電平


libco這種只能是半雙工一應一答式, 用udp, 短連接tcp, 或者長連接tcp半雙工模式。


長連接的全雙工不行, fastrpc底層的協程庫是長連接全雙工模式。


半雙工時, 多開連接數可以提高性能,但也不是越多越好。



#include "co_routine.h"

#include <sys/time.h>
#include <stdio.h>



struct Ctx
{
? ? stCoRoutine_t *pCo;
};


int cocount = 2;
int testcount = 1000000;
Ctx *arrayTask = NULL;
int testi = 0;


#define LOGD(x, ...) (x, ##__VA_ARGS__)
#define LOGI(x, ...) printf(x, ##__VA_ARGS__)




void *func1(void *p)
{
? ? co_enable_hook_sys();
? ? while(1)
? ? {
? ? ? ? LOGD("func1 %d start\n", testi);
? ? ? ? co_yield_ct();
? ? ? ? LOGD("func1 %d end\n", testi);


? ? ? ? if(testi == testcount) break;
? ? }


? ? LOGD("func1 end...\n");
}


void *func0(void *p)
{
? ? timeval beg,end;
? ? co_enable_hook_sys();


? ? LOGD("func0 poll start\n");

? ? poll(0,0,1000);

? ??LOGD("func0 poll end\n");


? ? gettimeofday(&beg, NULL);
? ? for(; testi < testcount; testi++)
? ? {
? ? ? ? LOGD("func0 %d start\n", testi);
? ? ? ? co_resume(arrayTask[1].pCo);
? ? ? ? LOGD("func0 %d end\n", testi);
? ? }
? ? co_resume(arrayTask[1].pCo);
? ? gettimeofday(&end, NULL);
? ? LOGI("switch %d times, cost: %d(us)\n", testcount, 1000000*(end.tv_sec-beg.tv_sec) + end.tv_usec-beg.tv_usec);


? ? LOGD("func0 end...\n");
}


void run()
{
? ? arrayTask = new Ctx[cocount];


// ? ?co_enable_hook_sys();
? ? co_create(&arrayTask[0].pCo, NULL, func0, &arrayTask[0]);
? ? co_resume(arrayTask[0].pCo);
? ? co_create(&arrayTask[1].pCo, NULL, func1, &arrayTask[1]);
? ? co_resume(arrayTask[1].pCo);


? ? co_eventloop(co_get_epoll_ct(), 0, 0);
? ? LOGD("end of run...\n");
}


int main(int, char *[])
{
? ? run();
? ? return 0;
}

總結

以上是生活随笔為你收集整理的asm 比 ucontext 快的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美老女人视频 | 久久这里只精品 | 欧美人与性动交α欧美精品 | 中文字幕一区二区三区四区欧美 | 无码国产精品96久久久久 | 超碰日日干 | 午夜黄色福利视频 | 波多野结衣99 | 特级西西人体wwwww | 亚一区二区 | 性欧美在线视频观看 | 成人免费毛片视频 | 久久精品视| 免费精品在线视频 | 成 人 免费 黄 色 | 欧美日韩乱 | 国产剧情演绎av | 亚洲女人天堂 | 欧美日韩精品一区二区在线观看 | 日本一区不卡在线观看 | 亚洲熟女综合色一区二区三区 | 亚洲伊人天堂 | 福利在线免费 | 麻豆一区产品精品蜜桃的特点 | 免费观看的av | 久久人人爽人人爽人人av | 538精品在线视频 | 男女男精品网站 | 男女黄床上色视频免费的软件 | 搞黄视频在线观看 | 亚洲老女人| 午夜黄色在线 | 亚洲动漫精品 | 亚洲av成人无码久久精品老人 | 欧美在线性爱视频 | 日韩欧美激情视频 | 97在线免费观看 | 亚洲av毛片基地 | 99re中文字幕 | 国产精品香蕉在线观看 | 国产精品免费久久久久 | 国产精品国产三级国产三级人妇 | 538国产精品视频一区二区 | 精品91av | 封神榜二在线高清免费观看 | 国产福利91精品一区二区三区 | 日韩中文字幕在线 | 黄色视屏在线播放 | 国产一区二区三区观看 | 中国国产毛片 | 蜜桃视频日韩 | 在线观看免费大片 | 在线观看中文字幕一区 | 精品少妇人妻AV无码专区在线 | 国产精品国产三级国产a | 国产伦精品一区二区三区高清 | 中文字幕+乱码+中文字幕明步 | 日韩人妻无码精品综合区 | 国产一区二区三区91 | 亚洲欧洲综合av | 亚洲第一免费 | 日韩av影音先锋 | 国产在线观看黄 | 性做久久久久久久 | 黄色av地址 | 一区二区久久 | 成人免费看类便视频 | 国产做受91 | 丁香六月在线 | 国产男女无遮挡猛进猛出 | 日韩国产综合 | 一区二区小说 | 国产 欧美 日韩 一区 | 国产不卡一区二区视频 | 男人看片网站 | 日韩视频在线免费播放 | 日本少妇影院 | 99re9| 久久依人| 午夜免费精品 | 伊人中文网| 日韩亚洲天堂 | 欧美福利在线视频 | 国产一区二区久久精品 | a天堂中文字幕 | 国产全是老熟女太爽了 | 成人黄色片免费看 | 成人动漫在线免费观看 | 久久精品国产熟女亚洲AV麻豆 | 女人的天堂网 | 善良的老师伦理bd中字 | 日韩精品一区二区三区丰满 | 亚洲最大的网站 | 日韩二区在线观看 | 韩国三级一区 | 性生交大片免费看视频 | 九色porny自拍视频在线播放 | 亚洲精品久久久乳夜夜欧美 | 久草视频免费看 |