社区
C++ 语言
帖子详情
c++单层和多层dll是否影响性能
请叫我杨二哥
2015-06-25 04:51:33
我开发了一个程序,程序中有几个dll,我开始的时候只有一个dll当测试程序直接调用这个dll时,
test-》dll2
程序性能(运行时间在ns级)还勉强满足了boss的要求,但是由于某些需求的提出,
我在测试程序和刚开始的那个dll之间添加了一个dll变成了
test->dll1-》dll2
程序的运行性能足足下降了一倍的 比如之前是 1000ns 现在变成了2000ns还有多!
请问 是不是由于中间多加了一个dll导致的性能下降?
...全文
381
10
打赏
收藏
c++单层和多层dll是否影响性能
我开发了一个程序,程序中有几个dll,我开始的时候只有一个dll当测试程序直接调用这个dll时, test-》dll2 程序性能(运行时间在ns级)还勉强满足了boss的要求,但是由于某些需求的提出, 我在测试程序和刚开始的那个dll之间添加了一个dll变成了 test->dll1-》dll2 程序的运行性能足足下降了一倍的 比如之前是 1000ns 现在变成了2000ns还有多! 请问 是不是由于中间多加了一个dll导致的性能下降?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lm_whales
2015-09-03
打赏
举报
回复
本质上是不影响的。 如果影响了,说明你的代码有问题。 或者你的代码运行速度比 调用 DLL中的函数这个简单功能要快。 也就是说,把很简单的逻辑封装到DLL中,并反复调用,这是完全没有必要的。 DLL中起码要实现一点功能吧,略微有点代码,通常都不会比 调用 DLL中的函数要快。 如果你把 int add(int a,int b){return a+b;}; 或者 int four(){return 4;}; 这样的代码封装到DLL中,那真是完全没有必要。
mujiok2003
2015-09-03
打赏
举报
回复
go profiling
fefe82
2015-09-03
打赏
举报
回复
1. 请确认 debug / release ,以及与优化有关的编译参数(包括所有的可执行程序与dll) 2. 找一个 profiler 确认热点位置。
请叫我杨二哥
2015-07-29
打赏
举报
回复
恩 很感谢大家 不过我仍然没有解决这个问题,我的测试方法是: 1 直接生成dll和lib然后直接在外面通过调用接口函数interface1 ,计算时间 得到的平均时间(10次) 为900ns多一点。 2 另外添加一个dll然后在那个dll中使用接口接口函数interface2 调用上面的接口函数interface1 ,仍然计算该接口函数调用时间,计算平均时间为2000ns多一点。 而且测试了很多次 都是在一样的运行环境下运行的。所以我才提出这么一个疑问。
小竹z
2015-06-26
打赏
举报
回复
楼主要实际测试对比,才有可能找到原因。增加dll肯定会带来开销,但是这种开销是否是程序瓶颈,不好说,必须实际测试。
k1988
2015-06-25
打赏
举报
回复
如果每次中间加了一些显式的loadlibrary和getprocadress之类的函数调用的话应该会有影响
moritz_dev
2015-06-25
打赏
举报
回复
10有89是你代碼逻辑有问题,用pstack多執行幾次,看看逻辑卡在那里了。去對應代碼段優化。
taodm
2015-06-25
打赏
举报
回复
你怎么测的1000ns?
yangyunzhao
2015-06-25
打赏
举报
回复
你的代码是跑在操作系统里面的,压根无法避免多重调用的
ztenv
版主
2015-06-25
打赏
举报
回复
至少我认为不是,看看你都改了什么代码吧
llama.cpp tools目录深度解析:量化、压测与诊断工程实践
GGUF模型部署不是简单加载文件,而是涉及量化压缩、单请求
性能
基准测试和高并发压力验证的完整工程闭环。量化工具(quantize)通过AWQ变体实现精度可控的INT4转换,直接
影响
CPU端7B模型能否在8GB内存设备运行;llama-bench提供毫秒级分解计时,精准定位token生成中的cuBLAS计算瓶颈或CPU分词延迟;llama-batched-bench则模拟真实API并发场景,暴露KV cache碎片化、OOM边界等服务端特有风险。这些能力共同构成llama.cpp生产落地的核心技术支撑,广泛应
llama.cpp运行Qwen2.5-7B全栈指南:从GGUF转换到Windows CUDA部署
大语言模型本地化部署正从‘能跑通’迈向‘稳、快、省’的工程深水区。llama.cpp作为纯C/
C++
实现的轻量级推理引擎,凭借零Python依赖、跨平台支持与极低内存开销,成为消费级硬件落地的关键载体;而Qwen2.5-7B则代表中文开源模型的新平衡点——在7B参数量约束下兼顾长文本理解、指令遵循与代码能力。其典型量化格式qwen2.5:7b-instruct-q4_k_m,实为针对Transformer架构深度优化的分组精度压缩方案,需结合GGUF元数据解析、rope_theta适配及ngl显存切片等底层
Pyrx高
性能
数值计算库:架构解析、
性能
优化与实战应用
在Python科学计算领域,高
性能
数值计算是提升数据处理效率的核心需求。传统库如NumPy虽然成熟,但在面对海量数据与现代多核CPU、GPU硬件时,常遇到内存布局不优、并行计算利用不足等
性能
瓶颈。其原理在于数组存储与计算模式未能充分适配缓存层次结构与并行执行单元。Pyrx作为新兴的高
性能
数值计算库,通过引入分块数组、延迟计算与融合内核等创新设计,从底层重构了计算引擎,旨在实现极致的运行时
性能
。其技术价值在于显著提升了大规模数组操作的执行效率,尤其适合数据科学、机器学习与量化分析等对计算
性能
有苛刻要求的场景。
五一4天就背这些Python面试题了,Python面试题No12
第1题: Python 中的 os 模块常见方法? os 属于 python内置模块,所以细节在官网有详细的说明,本道面试题考察的是基础能力了,所以把你知道的都告诉面试官吧 官网地址 https://docs.python.org/3/library/os.html os模块包含了很多操作文件和目录的函数 os对象方法 函数名称 用途 os.remove() 删除文件 os.w...
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章