最近在处理一批数据,10的8次方,处理完毕大概要一个月,并且这个程序占用的CPU只有一个(我从来没有注意到这个问题啊啊啊)。

突然师兄提醒我可以把10的8次方条数据拆成10个10的7次方,作为10条任务并行处理,我艹,三天就跑完了啊,坑爹呢这是我之前怎么没想到呢混蛋!!

 

以后单任务的程序一定要注意下CPU的使用情况。

 

并行处理也有个简单的方法,就是把原始文件给切割后提交,让队列调度程序给你并行调度就ok了。大家不要拍砖啊,这个玩意儿还是挺有用处的。

下面这个破脚本,哦,是perl脚本,用来切割文件的。我这里讲某个文件切割成,每4000条数据一个文件,每1000个文件一个文件夹,闲话少说,上酸菜:

Perl代码  收藏代码
  1. #!/usr/bin/perl -w  
  2. # Program name: filter_pro.pl  
  3. # Author      : bbsunchen  
  4. # Contact     : bbsunchen at gm*il.com  
  5. # Date        : 11/10/2011  
  6. # Last Update : 11/10/2011  
  7. # Reference   : Please cite our following papers when you are using this script.  
  8.   
  9. # Description :   
  10.   
  11. #===============================================================================================================  
  12. use warnings;  
  13. use strict;  
  14. use Getopt::Long;  
  15. use Cwd qw(abs_path);  
  16. use File::Basename qw(dirname);  
  17.   
  18. my %opts;  
  19. GetOptions(\%opts,"dir:s");  
  20. my $usage= <<"USAGE";  
  21.     Program: $0  
  22.     INPUT:  
  23.         -dir        full path of file  
  24.   
  25.     OUTPUT:  
  26. USAGE  
  27. die $usage unless ($opts{dir} && -e $opts{dir});  
  28.   
  29. my $cwd;  
  30. if ($opts{dir} =~ m{^/})  
  31. {  
  32.   $cwd = dirname($opts{dir});  
  33. }  
  34. else  
  35. {  
  36.   $cwd = dirname(abs_path($opts{dir}));  
  37. }  
  38. open DIR, $opts{dir};  
  39. my $seq_num = 0;  
  40. my $title = "";  
  41. my $data = "";  
  42. while(<DIR>)  
  43. {  
  44.     $seq_num++;  
  45.     if($seq_num % 2 != 0)  
  46.     {  
  47.         $title = $_;  
  48.         next;  
  49.     }else  
  50.     {  
  51.         $data = $_;   
  52.     }  
  53.     my $decide_path = 0;  
  54.     if($seq_num % 2 == 0)  
  55.     {  
  56.         $decide_path = $seq_num / 2;   
  57.     }else  
  58.     {  
  59.         $decide_path = int($seq_num / 2) + 1;  
  60.     }  
  61.       
  62.     my $file_name = int($decide_path / 4000);  
  63.     my $path_name = int($file_name / 1000);  
  64.     my $temp_path = "$cwd/$path_name";  
  65.     mkdir $temp_path,0775 unless (-e "$temp_path");  
  66.     die $! unless ($opts{dir} && -e $opts{dir});  
  67.     open OUT, ">> $temp_path/$file_name.fa";  
  68.     print OUT $title;  
  69.     print OUT $data;  
  70.     close OUT;  
  71. }  
  72. close DIR; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/451485.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/451485.shtml
英文地址,请注明出处:http://en.pswp.cn/news/451485.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes集群(概念篇)

Kubernetes介绍 2013年docker诞生&#xff0c;自此一发不可收拾&#xff0c;它的发展如火如荼&#xff0c;作为一个运维如果不会docker&#xff0c;那真的是落伍了。 而2014年出现的kubernetes&#xff08;又叫k8s&#xff09;更加炙手可热&#xff0c;我想大部分人仅仅是听说过…

cannot resolve symbol xxxx问题

1.File->Invalidate Caches/Restart 清除缓存重启 2.还不行就maven -> Reinport

$(“#addLowForm“).serialize()同时提交其它参数的写法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 原本写法&#xff1a; 2. 不光传表单参数&#xff0c;还有别的参数的写法&#xff1a;

JAVA自学笔记25

JAVA自学笔记25 1、GUI 1&#xff09;图形用户接口&#xff0c;以图形的方式&#xff0c;来显示计算机操作的界面&#xff0c;更方便更直观 2&#xff09;CLI 命令行用户接口&#xff0c;就是常见的Dos&#xff0c;操作不直观 3&#xff09; 类Dimension 类内封装单个对象…

360——新式的流氓

360确实是一种新式的流氓。提供一些很多用户有用的工具&#xff0c;然后在同时&#xff0c;也提供一些流氓性的工具或者流浪性的推广方法&#xff0c;比如&#xff1a;对360浏览器&#xff0c;360桌面等工具&#xff0c;通过暗示性的广告语进行推广&#xff0c;而对于安装的诸多…

跳板机

现在一定规模互联网企业&#xff0c;往往都拥有大量服务器&#xff0c;如何安全并高效的管理这些服务器是每个系统运维或安全运维人员必要工作。现在比较常见的方案是搭建堡垒机环境作为线上服务器的入口&#xff0c;所有服务器只能通过堡垒机进行登陆访问&#xff0c;合格的堡…

Map是不是集合?

Map是不是集合&#xff1f; 一、起因 今天在一个群里跟几位朋友就“map是不是集合“”争执了起来&#xff1b;几位朋友一致认为map不是集合&#xff0c;他们说只有Collection接口下的才是集合&#xff0c;而我认为Collection和Map下的实现类都是集合类。二、发展 于是我开始在…

JAVA自学笔记08

JAVA自学笔记08 1、构造方法私有&#xff0c;外界就不能再创建对象 2、说明书的制作过程 1&#xff09;写一个工具类&#xff0c;在同一文件夹下&#xff0c;测试类需要用到工具类&#xff0c;系统将自动编译工具类&#xff1b;工具类的成员方法一般是静态的&#xff0c;因此…

创业,不能兼职

一直在寻找靠谱的技术人才加入自己的创业团队。这个靠谱&#xff0c;不仅是技术靠谱&#xff0c;还要有相同的价值观。价值观的概念也很广泛&#xff0c;除了人品&#xff0c;还有对一些涉及到做人做事最本质的一些理念要相同。最起码的一条是&#xff0c;你是不是真的想好了决…

Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

转载 http://www.cnblogs.com/skywang12345/p/3308852.html转载于:https://www.cnblogs.com/lizhouwei/p/9162251.html

@Controller和@RestController的区别

RestController注解相当于ResponseBody &#xff0b; Controller合在一起的作用。 1)如果只是使用RestController注解Controller&#xff0c;则Controller中的方法无法返回jsp页面&#xff0c;配置的视图解析器InternalResourceViewResolver不起作用&#xff0c;返回的内容就是…

spring AOP解说

1.aop切面编程就是在常规的执行java类中方法前或执行后加入自定义的方法。 比如你本来每天都去打酱油&#xff0c;去&#xff0c;打酱油&#xff0c;回。 现在我每天在你打酱油路上等着&#xff0c;你去打酱油的时候我打你一顿&#xff0c;回来的时候给你点糖果吃。 你根本不…

接口 EnvironmentAware

凡是被Spring管理的类&#xff0c;实现接口 EnvironmentAware 重写方法 setEnvironment 可以在工程启动时&#xff0c;获取到系统环境变量和application配置文件中的变量。

简单安装ELK分析日志及使用心得

ELK是由Elasticsearch、Logstash、Kibana三个组件组成的。Elasticsearch&#xff1a;是ELK的核心插件&#xff0c;是一个基于Lucene的搜索服务器&#xff0c;它提供一个分布式多用户能力的全文搜索引擎&#xff0c;能够达到实时搜索&#xff0c;稳定&#xff0c;可靠&#xff0…

寄生式创业更容易成功

上次参加站长大会见识了不少创业团队和个人站长&#xff0c;他们中许多人都曾有过或正在过着苦逼的日子&#xff0c;不过我见到更多的还是他们风光的一面&#xff0c;在这次大会我见到了很多成功的创业团队&#xff0c;例如专门做微博营销的团队、依附于QQ空间的团队、专做腾讯…

JS单引号嵌套的问题,怎么改才能对呢!

JS单引号嵌套的问题&#xff0c;怎么改才能对呢&#xff01; https://zhidao.baidu.com/question/416584343.html document.getElementById(celbid).innerHTML<inputname""type"text"οnblur"celchangeb(celaid,celbid);">;这段代码是JS显…

@RequestParam的作用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 MVC另外一个特性是其提取和解析请求参数的能力。让我们继续重构上面的方法&#xff0c;并在其中添加RequestParam注解&#xff1a; Requ…

前端入门教程(七)CSS属性设置

宽和高 width属性可以为元素设置宽度。 height属性可以为元素设置高度。 块级标签才能设置宽度&#xff0c;内联标签的宽度由内容来决定。 字体属性 文字字体 font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体&#xff0c;则会尝试下一个…

java 深入了解DTO及如何使用DTO

这篇文章主要来谈论一下DTO使用的场合及其带来的好处。首先要理解DTO是什么&#xff1f; DTO就是数据传输对象(Data Transfer Object)的缩写。DTO模式&#xff0c;是指将数据封装成普通的JavaBeans&#xff0c;在J2EE多个层次之间传输。 DTO类似信使&#xff0c;是同步系统中…

图解CPU发展史

随着科学技术和人们对物质水平要求的不断提高&#xff0c;CPU作为电脑的核心组件&#xff0c;也发生了翻天覆地的变化&#xff0c;从1971年只有2300颗晶体管的Intel 4004微处理器到现在的以亿为单位的Intel i7处理器&#xff0c;科技发展的步伐从未停止&#xff0c;随着对原有技…