当前位置: 首页 > news >正文

MPQ文件系统优化

上次用解析字符串的方式来列举目录和文件, 速度太慢

尤其像Common.mpq这样一个MPQ的listfile就几兆的情况下, 速度简直不能忍受

再想想ZipFileSystem中的FileEntry和DirEntry, 我想它们是用来缓存文件目录树的吧

在内存中进行查找肯定比读文件快, 更不用说去解析字符串了

还是加入进去好了

与Zip不同的是, 我没有把文件一次性读入内存. 因为mpq本身就支持Seek, 不需要读到内存去模拟. 如果想映射到内存进行快速访问, 可以用Map()和Unmap().

呵呵, Visual Paradigm画图就是爽, 个人自己用可以申请一个免费的授权

以后要慢慢学着自己设计东西了, 这也算一个瓶颈吧, 过去就好了^_^

N3的IO模块默认是跟主线程不在同一个线程里的, 这点比较头疼.....看来能只做一下简单的测试了, 或者自己在主线程里也开一个IoServer, 唉~~路漫漫

相关文章:

  • 5.3 指令执行过程
  • 书摘几则
  • 5.4 数据通路的功能(单总线结构)
  • 微软面试题“井盖为什么是圆的?”最佳答案
  • 5.5 数据通路(专用通路结构)
  • 5.6 控制器设计(硬布线控制器)
  • 创建em资料库的系列问题 ora-47999
  • 5.7 微程序控制器的设计思路
  • JS上传文件前预览本地图片(转)
  • 5.8 微指令的设计
  • 使用Ant编译出flex的swc文件
  • 5.9 微程序控制单元的设计
  • 5.10 指令流水线的基本概念和性能指标
  • 如何在Windows下搭建Android开发环境
  • 5.11 指令流水线影响因素分类
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【知识碎片】第三方登录弹窗效果
  • ECMAScript6(0):ES6简明参考手册
  • js正则,这点儿就够用了
  • Laravel 中的一个后期静态绑定
  • Python学习笔记 字符串拼接
  • React+TypeScript入门
  • RxJS: 简单入门
  • TCP拥塞控制
  • 后端_ThinkPHP5
  • 简单易用的leetcode开发测试工具(npm)
  • 聚簇索引和非聚簇索引
  • 前端临床手札——文件上传
  • 设计模式(12)迭代器模式(讲解+应用)
  • 试着探索高并发下的系统架构面貌
  • 通过几道题目学习二叉搜索树
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 如何在招聘中考核.NET架构师
  • 整理一些计算机基础知识!
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​决定德拉瓦州地区版图的关键历史事件
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • ()、[]、{}、(())、[[]]命令替换
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (强烈推荐)移动端音视频从零到上手(下)
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (正则)提取页面里的img标签
  • (转)c++ std::pair 与 std::make
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .Mobi域名介绍
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接