Random Posts
Tags
Categories
Recent Comments
- 小肥 on GDB 从裸奔到穿戴整齐
- flandre on 异步事件模型的 Self-pipe trick
- inv on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
Links
Meta
Category Archives: 开源项目
[业余土制] 简易网络库 easenet
1. 跨平台网络库 2. 异步事件:kevent, iocp, epoll, poll, select封装 3. 内存管理:SlabPlus 4. 可靠协议:类tcp纯协议实现,包括重传机制,窗口管理,流量控制,拥塞处理。 5. 多种工具:缓存池,环状缓存,高性能hashmap等。 代码贴上:
[业余土制] Python P2P模块
项目地址:http://code.google.com/p/pyp2p/
[业余土制] Build工具 EasyMake
用最简单的方法描述工程信息,简化gnumake的繁琐操作,让不会用gnumake的同学们彻底解脱: 项目地址:http://code.google.com/p/easymake/
[自制开源] 轻量级图形库 PixelLib
图像:64种不同的像素格式,色彩空间变换,多种图形图像变换。 质量:支持3种级别抗锯齿效果,高质量几何图形绘制。 实现:轻量级纯软件实现,100% C代码(仅700KB代码)。 优化:SSE2/MMX优化 地址:https://github.com/skywind3000/pixellib 1. 图像变换: 支持仿射变换和透视变换,提供大量图像变换操作接口。
[业余土制] 实时汇编编译器
实时动态在内存中编译汇编代码,并返回函数调用指针,可用于JIT系统的后端: 项目地址:http://code.google.com/p/asmpure/ 例子: const char *AlphaBlendAsm = “PROC C1:DWORD, C2:DWORD, A:DWORD\n” ” movd mm0, A\n” ” punpcklwd mm0, mm0\n” ” punpckldq mm0, mm0\n” ” pcmpeqb mm7, mm7\n” ” psubw mm7, mm0\n” ” \n” ” punpcklbw mm1, C1\n” ” psrlw mm1, … Continue reading
[游戏演示] ActionScript 鼠标手势识别
学习ActionScript3,画一星期写了个DEMO: 网页地址:http://www.skywind.me/weapon
[业余土制] SlabPlus内存分配算法
This is an enhanced SLAB algorithm implementation in application layer, which provides O(1) memory allocating and efficient memory recycling. application layer slab allocator implementation O(1) allocating / free: almost speed up 500% – 1200% vs malloc re-implementation of page supplier: … Continue reading
虚拟机及VmBasic编译引擎说明
2001-2002 期间开发的虚拟机/编译器开源项目代码和资料: 关于虚拟机及其编译器的说明 VmBasic 开发/调试环境的介绍及说明 关于其他 所有资料可以通过下面地址下载: 下载可执行 源程序下载 设计说明书 关于虚拟机及其编译器的说明 记得 3DS/MAX 里面实现了一个类似 BASIC 的脚本,Animator 里面实现了一个类 C 的脚本语言,Autodesk 公司的软件对于脚本支持的很出色,好的脚本引擎在乎平台无关性、高效性和扩充性,一个脚本引擎的需要对一个好程序来说非常迫切,于是半年前我写了一款虚拟机,最近又实现了一个类 Basic 的脚本编译器,特性说明: 1) 高效性和独立于平台:由于虚拟机运行是解释二进制的字节码因此速度明显快于每次运行及时解释的脚本语言,比如 Perl 和 PHP,而虚拟机的核心程序代码也经过数个 C++编译器和平台的测试,可以毫无修改的编译运行于多个操作系统。 2) 充分的开放:通过虚拟机的端口 I/O 技术,要对它进行扩充变得十分容易,VmBeta 指令通过输出/输入的方法向用户自己的程序进行通讯,用户通过处理输出输入消息来达到功能的扩充,使它符合你产品的需要,具体的虚拟机实现和设计说明参考文档 vmbeta.txt 。 3) 可设安全级别:通过可设置安全级别,对程序运行状态进行监控。 通过半年的修改我自己觉得虚拟机够高效开放,就是 vmbasic 编译器写的没有多高的水准:完全没有对生成代码做优化,弄出许多繁琐的中间代码,不过还是明显快于及时解释语言,通过测试速度大概是 DOS … Continue reading