- 浏览: 47557 次
- 性别:
- 来自: 甘城
最新评论
-
lcf11824:
我来围观~
Broken pipe 异常
文章列表
一:提高程序性能
1. 磁盘(Disk)未必比内存(Memory)慢。
原理:Memory的随机存取(random access)需要消耗大量时间,数量级大概是500+个cycle,也就是每次随机存取,CPU都要花时间等数据从内存读过来。而虽然磁盘一次读取的时间确实比内存慢很多,但是顺序读取的话,系统会自动预读下一个数据放在L2 cache里面,而从L2到CPU里面的时间只需一个cycle;也就是说,在磁盘顺序读取大量数据,忽略掉overhead,可以达到一个cycle一组数据的速度,如果你的硬盘速度是5G/s,那平摊速度也基本达到5G/s。当然这个还跟硬盘数据存储结构有关,硬盘有很多能平 ...
前面写的是废话:最近用C++写数据库系统,内存泄露很严重,想要安装内存检测工具valgrind,但是这东西对我的MAC OS X 10.6不太支持,加上一些另外的原因,我决定在MAC下安个Ubuntu。。。。什么,问我安Valgrind的流程?我刚安好Ubunt ...
1.memcpy()
所属包:#include <string.h>
定义:void *memcpy(void *dest, const void *src, size_t n)
描述:用于将src指向的内存内容复制n个字节存储到dest指向的内存地址上。src与dest指向的内存区域不允许重叠。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。
参数:dest-拷贝的目标地址
src-拷贝的源地址
n-拷贝的长度
返回:指向dest的指针
2. lseek
所属包:
#inc ...
要用C++做个项目,决定在mac下搭建IDE环境,选择使用Eclipse + CDT + XCode。
1. 安装gcc编译器XCode。
判断系统里是否已经安装gcc编译器的方法是,打开一个终端窗口(在实用工具文件夹里),输入命令g++,没有则输出command not found,若安装了则输出not input files。XCode在mac电脑的随机安装光盘里就有,最新版可以上苹果官网上下载(http://developer.apple.com/technologies/xcode.html),但是需要注册一个Apple Developer帐号后才能下载。按照安装程序步骤进行安装就可以了 ...
Multidimensional Range Search(多维范围查找):
1.这是一个静态搜索树结构,建立后只支持查找操作,用于查询条件有N个且没有优先级的情况。
2.k-dimension range trees (k维范围搜索树)的每个节点node含有一棵k-1维范围搜索树,该k-1维范围 ...
B-树:
1. 所有叶子节点在同一层
2. 对于m阶的B-树,除了根节点有2到m个孩子外,每个内节点有ceil(m/2)到m个孩子,或者说有ceil(m/2)-1到m-1个pairs。
3. level≤log ceil(m/2) (N+1)/2, ceil(m/2)是下标
4.
InsertDeleteAverage Disk Accessesh+1h+4Worst-case Disk Accesses3h+13h
Worst-case Disk Accesses-Insert:假设有足够的内存存放h个节点。自上往下寻找插入点需要读取h次,自下往上剪枝拆分节点需要存取2s+1次(s是被拆分的节 ...
Inserting and Deleting of Red-Black Trees
For I hate to remember so many cases, like RRr, RLb, RLr, following are some in-order methods covering every case for operations in Red-Black Trees.
Inserting:
1. Find Uncle.
2. If uncle is red, change the colors of parent, uncle, and grandparent.
3. If ...
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutpu ...