如何提高软件运行速度?

sdzlrj 2015-04-27 12:59:38
请问各位高手:
我开发的出程序每操作一步都往硬盘中写,上百条的数据读取、写入,要很久才能完成。

看到别人开发的软件速度读写数据能达到闪速,且只在退出的时候提示是否保存,这种方法如何实现?
...全文
571 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
haitao 2015-04-28
  • 打赏
  • 举报
回复
每操作一步都往硬盘中写 该往一个内存数组或stringlist里写,每多少时间或积累了多少行了,才实际写盘一次
lyhoo163 2015-04-28
  • 打赏
  • 举报
回复
通过线程定时保存数据,也是一个好的办法。
yyfhz 2015-04-28
  • 打赏
  • 举报
回复
LZ是不是直接再文件中读取数据,然后嘛当修改后的数据要写回去的时候,由于文件只能顺序读写,只好重写整个数据文件,结果导致速度变慢?如果这样的话,为什么不考虑使用数据库呢?
lhy 2015-04-27
  • 打赏
  • 举报
回复
一定程度上应用缓存,比如5分钟存一次,这样免得存取太多,同时如果发生死机还是很容易恢复的。
yct0605 2015-04-27
  • 打赏
  • 举报
回复
线程可以处理很多比较复杂的过程,也可以提高软件的运行速度,当然也要合理的运用。 代码优化也是不可缺少的; 程序中的过程、函数的相关算法也是要考虑的,一个好的算法相当重要。
蓝色光芒 2015-04-27
  • 打赏
  • 举报
回复
搂主用的数据库吧,换成自定义文件结构就好了,配合FileMapping及内存缓存就秒操作了
lyhoo163 2015-04-27
  • 打赏
  • 举报
回复
这个问题,是程序必须面对的问题。应该是代码完成的重要因素。 一、程序涉及速度 1、程序启动的速度。初始化、连接网络读取数据、程序更新..... 2、打开新的窗体(页面)速度。读取初始参数 3、运行中的速度。 本地硬盘读写数据、运程网络数据(读写) 4、程序退出的速度。保存本地设置参数、更新运程数据。 二、要养成良好的习惯 1、本地INI文件读取速度比较慢,尽量少用; 2、数据的读取,在不影响准确度(同步)的前题下,使用缓存。 3、量较大的数据读取,使用线程; 4、数据读写时间大于1秒的,显示进度,缓解用户的等待焦点。 5、代码中,应刻意减少读写读写次数。 三、采取必要的技术手段 (略 因人而异)
frtrnr 2015-04-27
  • 打赏
  • 举报
回复
太笼统了,程序的瓶颈只有实际测试才能找到,而优化代码更是要字斟句酌。 如果问题在硬盘读写方面,不妨先写缓存,再找出程序的空闲间隙写;在线程中写硬盘; 另外写的机制是什么,是事先建立大的空文件写呢,还是每次建立与写新文件,这些都会造成很大的不同
Delphi小叮当 2015-04-27
  • 打赏
  • 举报
回复
加入缓存的机制吧

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧