热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

是否有更快的方式来循环数千个项目?-Isthereafasterwaytoloopthroughthousandsofitems?

SayIhaveabytearraywith100,000bytesinit.Iwanttoconverteachbyteintoitstextualrepre

Say I have a byte array with 100,000 bytes in it. I want to convert each byte into its textual representation of itself. For example:

假设我有一个包含100,000个字节的字节数组。我想将每个字节转换为其自身的文本表示。例如:

byte[] b = new byte[55000];

for(int i = 0; i 

The above code takes around 35 seconds to complete, is there some way I could cut that down to around 5 seconds?

上面的代码需要大约35秒才能完成,有什么方法可以将其减少到大约5秒钟吗?

3 个解决方案

#1


4  

As mentioned in my comment I would suggest removing the Console.WriteLine() method. I would also suggest that it be avoided in loops. Typically if you want to see what is being processed you would use either the Debug.WriteLine() (MSDN) or set a breakpoint (even a conditional breakpoint if you have a specific case that isn't working right). If you need to return the data then again i would suggest using a string builder:

正如我在评论中提到的,我建议删除Console.WriteLine()方法。我还建议在循环中避免它。通常,如果要查看正在处理的内容,可以使用Debug.WriteLine()(MSDN)或设置断点(如果您的特定情况不正常,则甚至是条件断点)。如果您需要再次返回数据,我建议使用字符串生成器:

byte[] b = new byte[55000];
StringBuilder myStringBuilder = new StringBuilder();

for(int i = 0; i 

#2


3  

one thing I fond is Write a Parallel.For Loop with might do faster thing than right now..

我喜欢的一件事是写一个Parallel.For循环,可能比现在更快。

    static void Main()
    {
        int[] nums = Enumerable.Range(0, 1000000).ToArray();
        long total = 0;

        // Use type parameter to make subtotal a long, not an int
        Parallel.For(0, nums.Length, () => 0, (j, loop, subtotal) =>
        {
            subtotal += nums[j];
            return subtotal;
        },
            (x) => Interlocked.Add(ref total, x)
        );

        Console.WriteLine("The total is {0}", total);
        Console.WriteLine("Press any key to exit");
        Console.ReadKey();
    }

#3


-1  

Profile your code to see what method is taking the most time. Focus your optimization efforts on that method.

描述您的代码,看看哪种方法花费的时间最多。将优化工作集中在该方法上。


推荐阅读
  • spring boot使用jetty无法启动 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 本文探讨了如何将个人经历,特别是非传统的职业路径,转化为职业生涯中的优势。通过作者的亲身经历,展示了舞蹈生涯对商业思维的影响。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 3.[15]Writeaprogramtolistallofthekeysandvaluesin%ENV.PrinttheresultsintwocolumnsinASCIIbet ... [详细]
  • 本文详细介绍了如何在Spring框架中设置事件发布器、定义事件监听器及响应事件的具体步骤。通过实现ApplicationEventPublisherAware接口来创建事件发布器,利用ApplicationEvent类定义自定义事件,并通过ApplicationListener接口来处理这些事件。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • Irish budget airline Ryanair announced plans to significantly increase its route network from Frankfurt Airport, marking a direct challenge to Lufthansa, Germany's leading carrier. ... [详细]
  • 本文将详细介绍如何使用Java编程语言生成指定数量的不重复随机数,包括具体的实现方法和代码示例。适合初学者和有一定基础的开发者参考。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 本文通过分析一个具体的案例,探讨了64位Linux系统对32位应用程序的兼容性问题。案例涉及OpenVPN客户端在64位系统上的异常行为,通过逐步排查和代码测试,最终定位到了与TUN/TAP设备相关的系统调用兼容性问题。 ... [详细]
  • 本文介绍如何手动实现一个字符串连接函数,该函数不依赖于C语言的标准字符串处理函数,如strcpy或strcat。函数原型为void concatenate(char *dest, char *src),其主要作用是将源字符串src追加到目标字符串dest的末尾。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有