我这个循环怎么特别慢呢?怎么优化一下呢

问题描述

for(inti=0;i<rownum;i++){k=i%5;switch(k){case0:j++;CiHui[0,k,j]=dt.Rows[i]["Ciyu"].ToString();CiHui[1,k,j]=Pinyin.PinyinManager.Pinyin(dt.Rows[i]["Ciyu"].ToString(),3);//这是一个static方法break;default:CiHui[0,k,j]=dt.Rows[i]["Ciyu"].ToString();CiHui[1,k,j]=Pinyin.PinyinManager.Pinyin(dt.Rows[i]["Ciyu"].ToString(),3);break;}progressBar1.Value=i;}

解决方案

解决方案二:
dt.Rows[i]["Ciyu"]这种少用dt.Rows[i][1]用这种。其中1代表第二列。你的看看Ciyu这是第几列。
解决方案三:
改了,速度还是没有提高。。。。。但还是谢谢你
解决方案四:
for(inti=0;i<rownum;i++){stringstr=dt.Rows[i]["Ciyu"].ToString();k=i%5;switch(k){case0:j++;CiHui[0,k,j]=str;CiHui[1,k,j]=Pinyin.PinyinManager.Pinyin(str,3);//这是一个static方法break;default:CiHui[0,k,j]=str;CiHui[1,k,j]=Pinyin.PinyinManager.Pinyin(str,3);break;}progressBar1.Value=i;}还是没反印的话。是你PinyinManager这方法的问题。
解决方案五:
for(inti=0;i<rownum;i++){stringstr=dt.Rows[i]["Ciyu"].ToString();k=i%5;switch(k){case0:j++;CiHui[0,k,j]=str;CiHui[1,k,j]=Pinyin.PinyinManager.Pinyin(str,3);//这是一个static方法break;default:CiHui[0,k,j]=str;CiHui[1,k,j]=Pinyin.PinyinManager.Pinyin(str,3);break;}//progressBar1.Value=i;这个去掉。或者用异步。线程委托。}

时间: 2024-09-17 21:40:14

我这个循环怎么特别慢呢?怎么优化一下呢的相关文章

深入理解Javascript中的循环优化_javascript技巧

循环是大多数编程语言都具备的基本功能,JS也不例外,不同之处在于JS是解释型语言,运行于浏览器环境中,客户端的软硬件条件会对JS执行效率产生很大的影响.然而客户端环境对于开发者是未知.多样的,并且难以改变,所以优化代码质量是提高代码效率的主要途径.JS代码中,循环是比较容易导致性能问题的因素.理解循环特性进而有针对性地进行优化也许会带来不错的性能提升.for.while.do-while循环:这三种循环本身的循环效率相差不多,所以只要根据适合的应用场景选择即可.以for循环为例: 复制代码 代码

C语言中对于循环结构优化的一些入门级方法简介_C 语言

一.代码移动 将在循环里面多次计算,但是结果不会改变的计算,移到循环外面去. 例子: 优化前: void lower1(char *s){ int i; for(i=0;i<strlen(s);++i) if(s[i]>='A'&&s[i]<='Z') s[i]-=('A'-'a'); } 优化后: void lower2(char *s){ int i; int len=strlen(s); for(int i=0;i<len;++i) if(s[i]>='

php循环执行多次效率执行速度例子

在设计的 php 生成静态页面中,静态页面越来越多,在不断的执行生成 html 的过程中,效率越来越慢,所以优化 php 语句就变得刻不容缓了,先检查了自己之前写的 php 生成 html 的程序,原来就是直接的循环,没有附加任何的优化,先看一下夏日博客之前的 PHP 循环语句: $stat = time();      for($i=1;$i<=10000;$i++){               $strTemp = $strTemp."<option value='"

PHP关联数组与哈希表(hash table) 不指定

PHP中有一种数据类型非常重要,它就是关联数组,又称为哈希表(hash table),是一种非常好用的数据结构. 在程序中,我们可能会遇到需要消重的问题,举一个最简单的模型: 有一份用户名列表,存储了 10000 个用户名,没有重复项: 还有一份黑名单列表,存储了 2000 个用户名,格式与用户名列表相同: 现在需要从用户名列表中删除处在黑名单里的用户名,要求用尽量快的时间处理. 这个问题是一个小规模的处理量,如果实际一点,2 个表都可能很大,比如有 2 亿条记录. 我最开始想到的方法,就是做一

asp程序和php程序转换要注意的问题

程序|问题|转换 前一段时间帮一个朋友把他的asp程序全部转为php程序,虽然听说网上有这样的工具,但是朋友的程序有关电子商务的东西,还是自己动手比较保险.一做下来发现很多地方要注意.1.语法如果你对两种都很熟,就比较容易了,但是写着写着昏了头的事情经常发生,.大家知道现在web服务器的错误提示都糊里糊涂的.php每句话最好加上分号,即使有的地方可以不加.注意各个段落加上注释,不同的循环(特别是嵌套)之类的之一层次.2.变量由于原来的程序不是我写的,所以对页面表单.session之类的东西特别注

PHP程序和ASP程序转换要注意的问题

有的程序有关电子商务的东西,还是自己动手比较保险.一做下来发现很多地方要注意. 1.语法 如果你对两种都很熟,就比较容易了,但是写着写着昏了头的事情经常发生,.大家知道现在web服务器的错误提示都糊里糊涂的. php每句话最好加上分号,即使有的地方可以不加.注意各个段落加上注释,不同的循环(特别是嵌套)之类的之一层次. 2.变量 由于原来的程序不是我写的,所以对页面表单.session之类的东西特别注意了一下.如果前一个程序写的不太清楚,麻烦大一些. php里面对变量大小写敏感,asp不敏感,所

阿里云机器学习平台——PAI平台

在云栖TechDay第十五期活动上,阿里云iDST资深技术专家褚崴给大家带来了<阿里云机器学习平台>的分享,他以机器学习的概念入手展开了此次分享,演讲中他重点介绍了阿里云机器学习平台的基础架构和产品特点,并结合阿里内部的芝麻信用分.推荐系统等场景讲解了PAI平台的具体应用方案. 下文根据褚崴的演讲内容整理.   机器学习 图一 机器学习分类 机器学习简单来说就是,人教机器在我们积累的数据当中发现规律,然后能够辅助我们来做一些预测和决策. 机器学习笼统地讲可以分为三类: 1)有监督学习(supe

Web 通信 之 长连接、长轮询(long polling)

基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的"不停"其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatRoom和一些需要及时交互的网站应用中.其真

TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

Google 近日发布了 TensorFlow 1.0 候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自 TensorFlow 于 2015 年底正式开源,距今已有一年多,这期间 TensorFlow 不断给人以惊喜.在这一年多时间,TensorFlow 已从初入深度学习框架大战的新星,成为了几近垄断的行业事实标准. 主流深度学习框架对比 深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括 TensorFlow.Caffe.Keras.CNTK.Torch7.MX