- 博客(281)
- 资源 (6)
- 收藏
- 关注
原创 go 的des加解密
go 的crypto/des里面只有cbc模式的如果使用ecb模式的, 需要自己写。代码如下// PKCS5Padding funcfunc PKCS5Padding(ciphertext []byte, blockSize int) []byte { padding := blockSize - len(ciphertext)%blockSize //padtext := bytes.Repea...
2018-03-09 09:40:49 1139
原创 echo test
client.cpp#include "co_routine.h"#include #include #include "util.h"#include #include #include #include using namespace std;class STask{public: stCoRoutine_t *pCo;
2016-10-11 22:41:34 773
原创 asm 比 ucontext 快
测试原装libco的asm版 与 libco的ucontext版性能, 同一个机器、同一份代码, 连接不同的libco实现库。 asm版比ucontext快6倍左右。但是有网友说:但是1秒切换100万次的应用不多,更多消耗在共享栈拷贝更多消耗在设置高低电平libco这种只能是半双工一应一答式, 用udp, 短连接tcp, 或者长连接tcp半双工模式。
2016-10-11 22:35:06 1188
原创 centos 编译 ffmpeg
#!/bin/bashmkdir /usr/local/ffmpegwget http://ffmpeg.zeranoe.com/builds/source/external_libraries/lame-3.99.5.tar.xztar xf lame-3.99.5.tar.xz( cd lame-3.99.5; ./configure --prefix=/usr/local/ff
2015-11-04 13:59:04 1283
转载 centos 上假设svnserve
http://wenku.baidu.com/link?url=ZeKOyzmO5tR9hun_5t5vECS-UxRTJagGh-hpLGDHbFf_pDDS9m9StwNod0j7w-tiXRc6NiqmylrNptdmYxAzeGyl0KzyP5dv11ExtqqYmUW/etc/rc.d/init.d/svnserve start/etc/rc.d/init
2015-04-28 18:14:44 569
转载 opengl es 2.0环境
http://blog.csdn.net/tspangle/article/details/387350711. 下载AMD的OpenGL ES2.0的模拟器,下载地址:http://www.opengles-book.com/ESEmulator.2009-04-28-v1.4.APRIL_2009_RELEASE.msi2. 下载《OpenGL ES2.
2015-03-12 16:23:43 1242
原创 性能分析
环境centos 6.4oprofile1) yum 安装oprofile2) 具体步骤见 http://blog.chinaunix.net/uid-13746440-id-3152484.html。 但是无vmlinux。opcontrol --deinitecho 0 > /proc/sys/kernel/nmi_watchdogopcontrol --i
2015-01-08 18:42:41 1393
原创 asio strand为什么比mutex好
void strand_service::do_post(implementation_type& impl, operation* op, bool is_continuation){ impl->mutex_.lock(); if (impl->locked_) { // Some other handler already holds the strand lo
2015-01-07 17:49:15 3246 2
转载 zookeeper原理与使用
可能用到zookeeper管理各模块的部署与挂起等异常情况。http://cailin.iteye.com/blog/2014486
2015-01-04 18:25:31 569
原创 调试
1) set print element 02) set scheduler-lock on; set scheduler-lock off3) strace -p pid; 对于多线程程序, 该操作只能查看某一个线程的。 要查看其它线程的, 需要输入其它线程的pid。 top -p pid, H可以看到每个线程的pid。 忘了这一条。。
2014-12-26 16:59:02 701
原创 tcp 的ack, seq
最近tcpdump 看到一些抓包信息, 做个说明, 其中有一些也是以前不清楚的。PUSH, 发端告诉收端, 所有数据已发送, 让收端尽快交给应用层。 seq y:y+len, ack x, length len========================================
2014-12-25 18:01:22 1542
原创 坑爹的stl
1) std::list::size() 是O(n)的我会连接后端某个服务, 后端服务挂掉后, 我会堆积请求; 重连上之后会发送,使用std::list::size来进行不为空的判断或者log输出。结果cpu 占了100%, 1秒发不了几个包。最后通过log定位到了std::list::size()可能有问题, 阅读源码,确定是这个原因。后来网上也看到类似的:http://blog
2014-12-25 17:48:10 663
转载 高并发时服务端配置
from http://www.ibm.com/developerworks/cn/linux/l-hisock.html在 IBM Bluemix 云平台上开发并部署您的下一个应用。现在就开始免费试用在开发 socket 应用程序时,首要任务通常是确保可靠性并满足一些特定的需求。利用本文中给出的 4 个提示,您就可以从头开始为实现最佳性能来设
2014-12-24 10:24:52 1860
原创 zlog 占cpu
压力测试中, zlog级别设置比较低, log输出比较多, 已经很明显的造成cpu占用率上升; 同时写磁盘居多,io高, 导致load升高。基本功能性问题排除后, 压力时,将log级别调高。
2014-12-19 11:13:22 1338
转载 GDB调试手册
from http://www.programlife.net/gdb-manual.htmlLinux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执
2014-12-17 19:47:01 749 1
转载 锁与高6)并发
1) mutex与spinlock结论:冲突较少时用spinlock, 频繁时用mutex。 优化不太必要http://www.parallellabs.com/2010/01/31/pthreads-programming-spin-lock-vs-mutex-performance-analysis/2)锁竞争解决办法---避免锁---使用读写锁---只锁住
2014-12-12 17:24:25 1073
原创 boost asio 性能与线程安全性
http://stackoverflow.com/questions/12794107/why-do-i-need-strand-per-connection-when-using-boostasio/12801042http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/overview/core/strands.html
2014-12-03 13:23:21 7645 5
原创 cocos2dx v3.0 主循环
int Application::run(){ // Initialize instance and cocos2d. if (! applicationDidFinishLaunching()) { return 0; } long lastTime = 0L; long curTime = 0L; auto dire
2014-11-26 00:29:53 1734 1
原创 python 发邮件。。。
#!/usr/bin/env python# -*- coding: utf-8 -*-import smtplib,sysimport datetimeimport osfrom email.MIMEText import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.base impor
2014-09-26 15:33:19 779
原创 栈越界的区别
struct Test{ int a; int b; int arr[4]; int c;};当定义Test t; t[4] = 0;时, t
2014-09-15 15:39:05 1622
原创 安装gcc 4.8.2 for cxx 11
from http://blog.csdn.net/stormbjm/article/details/9107831
2014-09-12 10:14:54 4010
转载 高性能服务器本质论
http://sirius.gnu.blog.163.com/blog/static/1468336802010111981813450/
2014-09-11 16:30:47 718
转载 boost 读写锁
typedef boost::shared_lock boost_share_lock; typedef boost::unique_lock boost_unique_lock;boost::shared_mutex lock;void reader(){ boost_share_lock
2014-09-09 18:00:45 1287
转载 boost shared_ptr线程安全性
转 http://blog.csdn.net/jiangfuqiang/article/details/8292906
2014-08-20 18:29:20 1782
原创 服务端统一时间戳 boost::date_time UTC
多服务器在多时区部署时, 需要按utc时间统一计算。可以使用boost::date_time
2014-07-30 17:19:01 4367 1
原创 boost::asio ssl
以 boost::asio::ssl::stream 代替 boost::asio::ip::tcp::socket
2014-07-30 15:14:28 9230 2
转载 boost ref, bind
ref:wrapper模式,类似传递http://blog.csdn.net/zengraoli/article/details/9663057
2014-07-28 15:01:02 857 1
转载 无状态设计的服务端
无状态, RESTful,http://blog.csdn.net/lvroyce/article/details/3941473
2014-07-23 15:15:19 1161
原创 centos6.4 裸机装环境
yum -y install subversion.x86_64yum -y install gcc.x86_64yum -y install gcc-c++.x86_64yum -y install wgetyum -y install man.x86_64yum -y install openssl-devel.x86_64 yum -y install vim ;/etc/b
2014-07-17 17:21:29 1435
原创 shader 3 rendering path
渲染通道, rendering path, vertexlit, forward 和 Deferred lighting
2014-06-09 19:11:58 1637 2
原创 shader 2: vertex, fragment, surf的区别
vertex shader, fragment shader, surf shadervertex shader逐个对
2014-06-09 17:29:28 3904
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人