- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 string move正确用法与性能测试
直接上代码和运行结果#include <iostream>#include <string>#include <sys/time.h>using namespace std;const int run_time = 1000*1000;void CreateStr(string& str){ for(int i = 0; i < 100000; ++i) str += rand(
2017-12-28 12:04:05 2027
原创 内存拷贝、锁执行时间测试
为了测试多生产者多消费者的瓶颈,写此测试,代码如下:#include <iostream>#include <memory.h>#include <sys/time.h>#include <pthread.h>#include <string.h>using namespace std;#define RUNTIME 10000000int length = 100;class Spin
2017-08-02 11:38:20 969
原创 几大常用排序算法编写及正确性、效率测试
排序算法写了几遍,总是过段时间就忘,故在此汇总下。 写排序算法重要的是理解它的原理,找到如何遍历及遍历和终止的条件插入排序从左建立有序区,将右侧的值依次插入该有序区,有序区中从插入的位置开始依次后移一位;从左往右遍历void InsertSort(std::vector<int>& datas){ //等待排序区间,插入到有序区 for(size_t i = 1; i < datas.s
2017-07-28 11:45:05 1888
原创 高并发rpc时如何connect(非阻塞)
方案一:之前有设计中转服务器,用于转发redis、url等消息。 在这里面,专门开线程负责套接字的连接与重连。使用阻塞等待式的方式直到连接真正连上,效率低下。代码如下:bool Connect(int &sock, sockaddr *addr_ptr, int wait_time){ int connect_res = ::connect(sock, addr_ptr, sizeof(
2017-05-11 10:38:37 1059 1
原创 无锁队列之单生产者单消费者
现实应用场景中经常会用到单生产者单消费者或多生产者多消费者模型,例如一个写线程,接收到数据写入缓冲区,另一个线程读出并处理。为了尽可能减少锁所占用的时间,可使用gcc的一些原子操作来代替pthread_mutex_t或pthread_spinlock_t。实现如下:#ifndef SPSC_H#define SPSC_H//single producer single consumer#incl
2016-12-19 15:46:00 1975
原创 log4cplus日志工具样例
logcplus是一款很好用的日志记录系统,操作简便,能记录程序执行的时间,执行位置,方便定位问题。这里记录下linux下的安装及使用。安装: 1. 下载安装包log4cplusxxx,解压,进入解压出的文件夹 2. ./configure CXXFLAGS=”-std=c++0x” –prefix=/usr/local/ 3. make 4. sudo make install 5. s
2016-11-24 11:30:54 825
全透明显示动态桌面时间,可调整配置文件设置时间字体大小位置,我花了3天才弄好
2012-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人