提示:本文章主要是对比国内 千问、kimi、 deepseek 、豆包几个模型在C++上的表现


前言

`
前两天用了多个国内的模型,像 Qwen、kimi、 deepseek, 当前智谱也文小言就算了。 也试了https://botgroupchat.cn/ 想着找个系列的例子来真实对比看看。
另外我也直接给出结果:千问 这次胜出。

一、怎么测

直接借用 C++内存泄漏如何排查和处理? 一文内容来对照。

二、测试记录

1. 简单问题:提前返回导致未释放

代码如下(示例):

int* ptr = new int(42);
if (some_condition)
    return; 
delete ptr;

实测结果:
在这里插入图片描述

2.简单问题:智能指针使用不当

代码如下(示例):

std::shared_ptr<int> sptr(new int(42)); 

在这里插入图片描述

3. 简单问题:循环引用

在这里插入图片描述

4. 来个复杂点的:构造函数异常导致资源泄漏

class ResourceHolder {  
public:  
    ResourceHolder() : data(new int[100]), file(fopen("config.bin", "rb")) {  
        if (!file) throw std::runtime_error("File open failed");  
        // 若此处抛出异常,已分配的 data 和 file 均泄漏  
    }  
    ~ResourceHolder() {  
        delete[] data;  
        if (file) fclose(file);  
    }  
private:  
    int* data;  
    FILE* file;  
};  

在这里插入图片描述

5.采用隐式定义问题

class Service {  
public:  
    void startAsync() {  
        worker = std::thread([this] { runForever(); });  
    }  
    ~Service() { if (worker.joinable()) worker.join(); }  
private:  
    std::thread worker;  
};  

在这里插入图片描述
这里都有一点偏,但千问最接近。因为采用隐式定义的话,不会自己释放。

总结

整体来看:千问 这次胜出。 不过还得说整体比我预期的好。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐