并行运算和普通运算之性能比较

测试条件: 依次计算1到100 0000的Math.Pow运算。运算3次。

测试代码:

 static int maxNum = 1000000;
        static void Main(string[] args)
        {
            //迭代次数
            int iterationNum = 3;
            CodeTimer.Initialize();
            CodeTimer.Time("普通循环计算", iterationNum, new Action(NormalCompute));
            CodeTimer.Time("1次并行循环计算", iterationNum, new Action(ParallelCompute_1));
            CodeTimer.Time("2次并行循环计算", iterationNum, new Action(ParallelCompute_2));
            Console.Read();
        }
        private static void NormalCompute()
        {
            for (int i = 1; i <= maxNum; i++)
            {
                Math.Pow(i, i + 1);
            }
        }

        private static void ParallelCompute_1()
        {
            Parallel.For(1, maxNum, (i) =>
                {
                    Math.Pow(i, i + 1);
                });
        }
        private static void ParallelCompute_2()
        {
            Parallel.For(1, maxNum / 2, (i) =>
            {
                Math.Pow(i, i + 1);
            });
            Parallel.For(maxNum / 2 + 1, maxNum, (i) =>
            {
                Math.Pow(i, i + 1);
            });
        }

测试结果:

http://blog.zhaojie.me/2009/03/codetimer.html

老赵的性能测试工具

时间: 2024-11-06 18:46:40

并行运算和普通运算之性能比较的相关文章

R语言学习笔记(二十一五):如何如何提升R语言运算的性能以及速度

在R中获得快速运行代码的方法 使用向量化运算 R语言的并行计算可以用parallel和foreach包 加快R运行速度还可以使用cmpfun()函数即字节码编译器 再者就是在R中调用C或C++ 同时还可以利用Rprof()来寻找代码的瓶颈 利用分块或者R包来管理内存 原文地址:https://www.cnblogs.com/xihehe/p/8318919.html

[C语言]进阶|数据类型: 整数, 浮点, 逻辑, 类型转换和条件运算

--------------------------------------------------------------------------------- [C语言的类型] 整数: char, short, int, long, long long 浮点数: float,double,long double 逻辑: bool 指针 自定义类型 [类型有什么不同] 类型名称:int,long,double 输入输出时的格式化:%d,%ld,%lf 所表达的数的范围:char < short

柯南君:教你如何对待大型网站平台的性能优化? 之 二--- 应用程序调优 (长篇总结)

柯南君:教你如何对待大型网站平台的性能优化? 之 "二"--- 应用程序调优(长篇总结) 柯南君 上一章 <柯南君:教你如何对待大型电商平台的性能优化?之 一 (方法.指标.工具.定位)>讲到了一些测试方法.测试指标.以及测试工具.稍微讲了一些如何定位的方法?这一章主要讲一下"如何优化应用程序,将其性能提升". 一.基本知识  1.下面讲一些JAVA 程序性能方面的一些看法,首先给大家讲一下应用程序调优,需要调优哪些项? ① 运算的性能 : 看哪一个算法

Java程序性能调优的基本知识和JDK调优

一 基本知识 1.1 性能是什么 在性能调优之前,我们首先来了解一下性能是什么?关于性能,我想每个学习过Java的人都能列出几点,甚至可以夸夸其谈.在<Java TM Platform Performance>一书中,定义了如下五个方面来作为评判性能的标准: 1) 运算的性能--哪一个算法的执行性能最好? 2) 内存的分配--程序运行时需要耗费多少内存? 3) 启动的时间--程序启动需要多长时间?这在Web项目中的影响不大,但要注意部分程序需要部署或运行在客户端时的情形(比如applet程序)

java性能

一.关于性能的基本知识  1.性能的定义  在我们讨论怎样提高Java的性能之前,我们需要明白“性能“的真正含义.我们一般定义如下五个方面作为评判性能的标准.  1) 运算的性能----哪一个算法的执行性能最好  2) 内存的分配----程序需要分配多少内存,运行时的效率和性能最高.  3) 启动的时间----程序启动需要多少时间.  4) 程序的可伸缩性-----程序在用户负载过重的情况下的表现.  5) 性能的认识------用户怎样才能认识到程序的性能.  对于不同的应用程序,对性能的要求

有助于改善性能的技巧

1. 慎用异常 在Java软件开发中,经常会使用try-catch进行错误捕获,但是,try-catch语句对系统性能而言是非常糟糕的.因此,应尽量避免将其应用在循环当中. 2. 使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快.其它变量,如静态变量.实例变量等,都在堆(Heap)中创建,速度较慢. 3. 位运算代替乘除法 在所有的运算中,位运算是最为高效的.因此,可以尝试使用位运算代替部分算术运算,来提高系统的运算速度.最典型的就是对于整数的乘除

Python这些位运算的妙用,绝对让你大开眼界

位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手写代码过程中,写出一两个位运算的代码,还会让面试官眼前一亮的. 位运算常用的运算符包括&(按位与), | (按位或),~(按位非),^(按位异或),<< (有符号左移位) ,>>(有符号右移位). 下面用几个例子说明其应用,希望对你有所启发. 1.判断奇数还是偶数 通常判断奇数

求两个数的最大公约数

求两个数的最大公约数 问题:给定两个正整数a和b,求他们的最大公约数. 最简单的方法就是穷举法,如果a>b,那么依次计算1~b的所有整数是否是a和b的公约数. public static void main(String[] args) { long timer = System.currentTimeMillis(); System.out.println(getGCB(1000234234,1242342390)); System.out.println(System.currentTime

CSS遮罩效果和毛玻璃效果

前面的话 本文将详细介绍CSS遮罩效果和毛玻璃效果 遮罩效果 普通遮罩 一般地,处理全屏遮罩的方法是使用额外标签 <style>.overlay{ position:fixed; top: 0;right: 0;left: 0;bottom: 0; background:rgba(0,0,0,0.8); } .lightbox{ position:absolute; top: 0;right: 0;left: 0;bottom: 0; margin:auto; z-index:1; width