今天測試利用 libcurl 庫,
內網測試40M文件文件接收到內存,
使用 curl官方例程: https://curl.haxx.se/libcurl/c/getinmemory.html
發現在Linux下運行速度飛快,
但是我同時發現在windows下面速度奇慢, 40M文件需要30多秒,簡直無法忍受。
后來我在windows下用 gcc編譯編譯getinmemory.c, 同樣發現速度一樣慢,
我沉思了很久, 會不會是因為回調函數申請內存慢呢,
果然屏蔽回調函數之后發現速度10倍提升,
慢慢修改把回調函數一次申請固定40M內存,
真的解決了這個問題。
看來windows realloc( ) 給開發者留下了大坑,
下面有一篇關于 windows linux realloc 的文章,可能對你有幫助:
https://blog.kowalczyk.info/article/2be/realloc-on-Windows-vs-Linux.html