今天测试利用 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