精华内容
下载资源
问答
  • VS2012中运用OpenMP测试并行处理效率

    千次阅读 2014-05-05 20:21:38
    VS2012中运用OpenMP测试并行处理效率

    VS2012中运用OpenMP测试并行处理效率

    #include<omp.h>
    #include<time.h>
    int _tmain(int argc, _TCHAR* argv[])
    {
    	clock_t x=clock();
        #pragma omp parallel for 
    	for (int i=0;i<10;++i)
    	{	
    		int a=0;
    	    for (int j=0;j<1000000000;j++)
    	     {
    			 a++;
    	     }
    	}
    	clock_t y=clock();
    	cout<<endl;
    	cout<<(y-x)<<endl;
    	system("pause");
    	return 0;
    }


    以上仅是一简单测试源码。

    硬件配置:四核CPU;  OS:Win8; 编程平台:VS2012

    测试结果:1.串行:加注释时,编译后运行显示执行时间为22958ms;

                   2.并行:去掉注释时,编译运行显示执行时间为7390ms;

    结果分析:虽然是四核电脑但是并行时的运行时间,并不是串行时的四倍,而是约3.11倍!其中会有以下的几个原因:

                   1.并行运行时,系统本身也有一部分运算,故而四个CPU核心并非一直全部投入上述的计算中;

                   2.并行是多线程的,线程的创建以及销毁都是需要一定的时间的;

    总结:由此可见,并行带来的优势还是十分巨大的!!!

    此篇主要是为"任务:串行FDTD算法转化为并行"而努力的~!

     

     

    展开全文
  • python处理文件效率对比awk

    千次阅读 2016-03-22 18:44:06
    有如下三文件: wc -l breakfast_all cheap_all receptions_all  3345271 breakfast_all  955890 cheap_all ...特意用python与awk分别写了代码...整体上,awk的处理速度与python的处理速度大致相当!

    有如下三文件:

    wc -l breakfast_all cheap_all receptions_all
       3345271 breakfast_all
       955890 cheap_all
       505504 receptions_all
      4806665 总用量

    head -3 cheap_all
    a    true
    b    true
    c    true

    三个文件的结构都类似,第一列为uid。现在想统计三个文件中总共有多少不重复的uid。特意用python与awk分别写了代码,测试两者处理文本的速度。


    python代码:

    #!/usr/bin/env python
    #coding:utf-8
    
    import time
    
    def t1():
        dic = {}
        filelist = ["breakfast_all","receptions_all","cheap_all"]
        start = time.clock()
        for each in filelist:
            f = open(each,'r')
            for line in f.readlines():
                key = line.strip().split()[0]
                if key not in dic:
                    dic[key] = 1
    
        end = time.clock()
        print len(dic)
        print 'cost time is: %f' %(end - start)
    
    def t2():
        uid_set = set()
        filelist = ["breakfast_all","receptions_all","cheap_all"]
        start = time.clock()
        for each in filelist:
            f = open(each,'r')
            for line in f.readlines():
                key = line.strip().split()[0]
                uid_set.add(key)
    
        end = time.clock()
        print len(uid_set)
        print 'cost time is: %f' %(end - start)
    
    t1()
    t2()

    用awk处理

    #!/bin/bash
    
    function handle()
    {
        start=$(date +%s%N)
        start_ms=${start:0:16}
        awk '{a[$1]++} END{print length(a)}' breakfast_all receptions_all cheap_all
        end=$(date +%s%N)
        end_ms=${end:0:16}
        echo "cost time is:"
        echo "scale=6;($end_ms - $start_ms)/1000000" | bc
    }
    
    handle

    运行python脚本
    ./test.py
    3685715
    cost time is: 4.890000
    3685715
    cost time is: 4.480000


    运行sh脚本

    ./zzz.sh
    3685715
    cost time is:
    4.865822


    由此可见,python里头的set结构比dic稍微快一点点。整体上,awk的处理速度与python的处理速度大致相当!


    展开全文
  • python利用xlwings库 处理excel win环境 使用总结-持续更新 效率问题 启动效率 接口读写效率及建议 颜色读写效率 Options() range().color() app.screen_updating

    xlwings 入门及使用方式指导

    • 我对比了openxl 和 xlwings的官方文档,发现xlwings的官网API说明很清楚简洁,
    • 如果你刚入门,不要去百度按照功能搜索一句句的去拼接代码,
    • 直接花一个小时看下API接口说明,基本你就会用了
    • 同时,官网还放了一些小实例,帮助你入门
      xlwings官网API说明书

    举例一些操作模块

    打开和处理一个xlsx文件,关闭

    import xlwings as xlw
    app = xlw.App(visible=True, add_book=False)
    app.display_alerts = False
     app.screen_updating = False  # excel 是否展示内容
     wb = app.books.open(self.XlsPath)
    
    procxls()  # 个人处理过程
    
     wb.save()  # 处理后保存
     wb.close()  # 关闭文件句柄,写入文件
     app.quit()  # 关闭app
    

    写入多行数据

    储存列表
    # 将列表[1,2,3]储存在A1:C1中
    sht.range('A1').value=[1,2,3]
    # 将列表[1,2,3]储存在A1:A3中
    sht.range('A1').options(transpose=True).value=[1,2,3]
    # 将2x2表格,即二维数组,储存在A1:B2中,如第一行1,2,第二行3,4
    sht.range('A1').options(expand='table')=[[1,2],[3,4]]
    

    options() 这个函数,中文文档很少有人描述的很清楚的,建议大家去看官网,不要被误导

    xlwings高级接口

    至于一些简单的操作,已经有人写了很不多的博客,我给大家引过来,自己不再过多赘述

    xlwings一些读、写表格 API用法,中文博客地址

    效率问题

    启动效率

    open()时会启动win环境自带的office-excel安装程序(就相当于帮你打开了要操作的excel表格);这个效率取决于你自身电脑性能,一般都要耗时3s左右,我试过老一点的笔记本要5s;

    app = xlw.App(visible=True, add_book=False)
    app.display_alerts = False
    app.screen_updating = False  # excel 是否展示内容
    wb = app.books.open(self.XlsPath)
    

    刷新效率

    app.screen_updating = False 选项,是配置是否实时刷新excel程序的显示内容,
    如果配是True,我实测会导致速度慢三倍左右。

    接口读写效率及建议

    对excel的读、写,基本都是通过

    • sht.range(“A1”).value 【读】
    • sht.range(“A1”).value = ‘你好’ 【写】
      这里边有个性能问题,如果你一个个 cell单元格 去读写,特别慢,我循环 读取+写入 2000个单元格,耗时基本30s

    但是,如果你批量读、写,就能变得很快,例如: 一次读、写一整行

    • sht.range(“A1:Z1”).value 【读】
    • sht.range(“A1:Z1”).value = (‘你好’, ‘你好’, ‘你好’, …) 【写】

    所以,要提高效率,就要尽量批量操作

    颜色读写性能及缺点

    上边证明批量操作能提高效率,但是,读写颜色又有一个不爽的地方,不支持批量操作

    • sht.range(“A1”).color 【读】
    • sht.range(“A1”).color = (210, 67, 9) 【写】
      我做的项目,需要依据颜色对表格做不同的操作(修改、删除等),导致每次只能循环一个个cell单元格来遍历
    展开全文
  • 比如我们在开发一些大型游戏或耗资源的应用中可能考虑手动干涉GC处理,使用 dalvik.system.VMRuntime类提供的setTargetHeapUtilization方法可以增强程序堆内存的处理效率。当然具体 原理我们可以参考开源工程,...

    对于Android平台来说,其托管层使用的Dalvik Java VM从目前的表现来看还有很多地方可以优化处理,比如我们在开发一些大型游戏或耗资源的应用中可能考虑手动干涉GC处理,使用 dalvik.system.VMRuntime类提供的setTargetHeapUtilization方法可以增强程序堆内存的处理效率。当然具体 原理我们可以参考开源工程,这里我们仅说下使用方法:   private final static float TARGET_HEAP_UTILIZATION = 0.75f; 在程序onCreate时就可以调用 VMRuntime.getRuntime().setTargetHeapUtilization(TARGET_HEAP_UTILIZATION);  即可。



    参考文章:http://blog.chinaunix.net/uid-9104650-id-2009662.html



    展开全文
  • 为了减少与数据库的交互,现在要把Oracle中上亿级别的数据用java查询出来并放入 redis中,自己写了代码,发现效率非常慢,这么处理可以提高效率
  • 处理方式: 减少sql执行次数。通过分组、分类别查询到结果,然后通过for循环来组合结果值。 结果: 反映很快速,又是闪开的感觉,效果很明显。sql执行效率果然不高。 优点: 反映快速; 缺点: 改进...
  • 击鼓传花:对比 muduo 与 libevent2 的事件处理效率

    万次阅读 热门讨论 2010-09-08 01:00:00
    为了公平起见,这回我们用 libevent2 自带的性能测试程序(击鼓传花)来对比 muduo 和 libevent2 在高并发情况下的 IO 事件处理效率。 结论:在 IO 事件处理效率方面,muduo 与 libevent2 总体比较接近,各擅胜场。...
  • 如何提高perl处理大文件的效率

    千次阅读 2014-06-25 21:37:51
    Perl最常用的功能之一是处理文本,它内嵌的强大正则表达式是其他语言难以匹敌的,然而,如果使用不当,在处理大文件时(例如我这里的应用程序产生的日志,每天加起来有好几个G),效率会非常底下。下面我总结几个...
  • Bitmap图片处理效率----BitmapData

    千次阅读 2016-06-02 17:59:17
    一、在图片处理时,如果每次都是对Bitmap的对象进行直接处理效率不高。 二、改进: 在每次处理图像之前,对其进行lock,生成对应的BitmapData对象。  ( 注:   BitmapData类是将Bitmap里面的像素映射...
  • Hive中distinct和group by效率对比,及处理方式
  • 最近在工作中遇到一个问题...数据处理需要先对行数做判断,然后根据该行某一列的数据值跟200作比较再判断取值,涉及到后面的值会取到前面一行的值。 原来程序是这样: for i in data1.index: if i % 9 == 0: d...
  • 服务器端沾包处理的copy效率问题

    千次阅读 2014-01-16 02:47:58
    本文说的基于数据包(有头尾标示并且独立被处理的数据区)的高效通信要求下,阅读需要有一定的沾包处理经验。沾包是tcp流传输的一个特点,形成沾包的主要原因是,数据包小于接收缓冲时,对方不断发生数据包,接受方...
  • 时间复杂度是衡量算法执行效率的一种标准。但时间复杂度并不能跟性能划等号。在真实的软件开发中,即使在不降低时间复杂度的情况下,也...如何借助并行计算的处理思想对算法进行改造? 并行排序 假设我们要给大...
  • 最近的工作遇到一个需求,整理多个相同格式但是不标准的Excel表格,最终汇总成一个Excel表格,并进行数据透视分析。 表格内涉及到合并的单元格,...所以决定使用Python对Excel进行自动处理,实现一键导出目标Excel...
  • 从中发现,array_map的速度最快,很多PHP框架中都使用它来循环处理函数,但是这并不能说array_map的效率是最高的,这跟PHP的版本、循环部分的业务逻辑有关,相对来说array_map的时间比较稳定,如果只是遍历展示数组...
  • java Pattern提高你的应用处理正则表达式的效率
  • 本文从简单实用的角度出发,给出几个提高Oracle处理大量数据效率的有效途径。 <br /> 一、配置数据库初始化参数     数据库的全部初始化参数可以在OEM中看到。参见下图: <br /> ...
  • 设计的话, 是在dao层写批量新增的方法,以及实现类dao的实现类, 在service调用这个dao就可以了! 不过最终走的还是单个只不过是集合的遍历, 所以不用再mapper.xml里面配置方法。 IReconBankOrderCpsBatchDao...
  • 结论:strcpy效率比sprintf高很多,但是sprintf功能更加强大。 测试代码如下: //头文件很多是多余的,呵呵。 #include #include #include #include #include #include #include #include #...
  • 怎样尽可能提高这一过程的效率? 大致从两个时间节点来优化: 一个节点是 优化接口之间调用的响应速度,可以项目之间使用集群,实现负载均衡。接口拿到数据后可以暂存到Redis或kafka再者是MQ队列中,以提高接口...
  • 最外层循环必须先查出来,然后再去通过外层查询结果去分层查询。 使用时间 做过的更改测试: 1.减少查询出来的结果,发现查询时间并没有减少。估计访问数据库次数过多。 ...
  • 我们在工作的时候一般都活用到excel这些操作技巧,所以我们在工作的时候一般都是利用...我们在工作的时候一般会根据一些条件去给数据进行求和处理,如果我们没有一个好的求和公式,只靠我们自己动手去操作就会麻烦的
  •  看过你不知道的异常(一)的同学应该会知道我接下来要写什么,那就是抛一个异常和接住异常到处理和不进行此操作在时间上有什么区别?  首先是BLL层的代码 Public Class TestManage Public Function ...
  • 场景描述:  oracle数据库中有2张表,一张是tm_bus_realtime_log当前表 只有一当前一天的数据。数据量有几百万的数据。还有一张表,tm_bus_realtime_his历史表 进行了分区。每10天一分区。每个月有3个分区。...
  • 基本满足中大型文件处理效率需求。如果rb改为r,慢6倍。 但是此方式处理文件,fLine为bytes类型。但是python自行断行,仍旧能很好的以行为单位处理读取内容。 二、文本处理效率问题(100分求助) 由于我处理的...
  • 先用内存映射技术处理200M和800M的数据,速度和普通I/O比确实提高了很多,但是处理3G的文件时,效率直线下降. 我的思路是把3G的文件映射分块,内次MapViewOfFile800M,读完后UnmapViewOfFile,然后继续下一块,直到处理...
  • 可以得出的结论是jvm一定对String.matches()方法进行了缓存的处理,也就是说调用这个方法产生的一切中间对象并未被jvm清理,如果运用到你的应用上,可能效率体现得会很明显 ------------------...
  • package CSDN_Demo; public class 奇数偶数篇 { public static void main(String[] args) { int n = 20; if(n % 2 == 0) { System.out.println("是偶数"); } else { System.out.println("是奇数");...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,548,257
精华内容 619,302
关键字:

处理效率怎么算