提高模組通訊速度

2022-09-19 03:09:15 字數 897 閱讀 2211

windods最高定時精度為1ms,無法準確測出1ms內的精度,好在系統提高了queryperformancefrequency,和queryperformancecounter才可高速測試。測試分為阻塞2種,非阻塞2種,結果如下:

1. waitforsingleobject(hevent, 1); 非阻塞延時1ms

延時為 388us - 15388us = 0.388ms - 15.388ms,十分不穩定,延時是大致的,最大延時為15.388ms。

2. sleep(1); 非阻塞延時1ms

延時為 388us - 15388us = 0.388ms - 15.388ms,十分不穩定,延時是大致的,最大延時為15.388ms。

3. waitforsingleobject(pthread->hevent, infinite); 阻塞等待事件訊號

延時為 4us - 30us = 0.004ms - 0.030ms,不穩定,4us為訊號相應時間,30us - 4us = 26us 為執行緒排程時間(大致),最大延時為30us。

4. getmessage(&msg, null, 0, 0); 阻塞等待事件訊息

延時為 10us - 40us = 0.010ms - 0.040ms,不穩定,10us為訊息幫浦時間,40us - 10us = 30us 為訊息分派時間,最大延時為40us。

總結:第1,2不可取,因為加入了延時,每個執行緒延時竟可達15.388ms(35%機率)。第3最小,屬於單事件訊號,第4略大,因為要經過訊息傳遞、幫浦送、分派,有一定延誤。如果按非阻塞延時1ms,可提速 = 1ms / 0.030ms = 33.33倍。第4可針對多路事件訊號。   

備註:另乙個有趣的實驗是執行緒迴圈不阻塞,不延時,加了不少判斷,結果還是0us,以us為單位測不出延時,估計是幾個機器週期,可見非阻塞執行緒的執行速度之高。

如何提高W5100的通訊速度

在很多應用領域都需要提高w5100與其它網路裝置 如pc機 的通訊速度。理論上講,w5100的最大通訊速度可以達到25mbps,實際應用中,由於網路的原因 cpu與w5100之間通訊速度的原因等等,使w5100的網路傳輸速度遠遠低於25mbps。這裡拋開網路速度的影響,談談如何提高w5100的網路通...

如何提高訪問速度

對於一般的 來說,我們並沒有察覺到訪問速度的快慢!因為一般的 的資料量小,相對,各個方面都能快速的載入頁面和填充資料。但是,對於乙個上千萬的資料量時,我們是否應該考慮如何加快頁面的載入速度呢?我們設想一下,如果,一輛貨車,沒有載任何重物,它的速度甚至可以達到200km h,當貨車裝上十頓的貨物時,它...

提高2440刷屏速度

在mini2440上執行配套光碟中的ucosii,速度非常慢,copy乙個240x320的幀快取竟要花得200多ms,最終找到問題所在。問題出在mmu中頁表的設定上。sdram對映時,沒有使用cache。使用cache後測得複製一屏的資料只需6.5ms。不再出現 刷屏 現象。在mmu.c中,原配套光...