小编Beu*_*uss的帖子

Perl6:处理非常大的文件的最佳方法是什么?

上周我决定尝试Perl6并开始重新实现我的一个程序.我不得不说,Perl6对于对象编程来说非常简单,这在Perl5中对我来说非常痛苦.

我的程序必须读取和存储大文件,例如全基因组(高达3 Gb或更高,参见下面的示例1)或制表数据.

代码的第一个版本是通过逐行迭代("genome.fa".IO.lines)以Perl5方式制作的.对于正确的执行时间来说,它非常缓慢且无法确定.

my class fasta {
  has Str $.file is required;
  has %!seq;

  submethod TWEAK() {
    my $id;
    my $s;

    for $!file.IO.lines -> $line {
      if $line ~~ /^\>/ {
        say $id;
        if $id.defined {
          %!seq{$id} = sequence.new(id => $id, seq => $s);
        }
        my $l = $line;
        $l ~~ s:g/^\>//;
        $id = $l;
        $s = "";
      }
      else {
        $s ~= $line;
      }
    }
    %!seq{$id} = sequence.new(id => $id, seq => $s);
  }
}


sub MAIN()
{ …
Run Code Online (Sandbox Code Playgroud)

performance grammar parsing perl6 fasta

15
推荐指数
1
解决办法
481
查看次数

Perl6子MAIN /命令行解析

在Perl 5中,我可以像这个问题一样多次设置一个选项:

Perl Getopt多次使用相同选项

我想知道是否可以使用Perl 6和MAIN sub做同样的事情?

perl6 raku

11
推荐指数
1
解决办法
161
查看次数

标签 统计

perl6 ×2

fasta ×1

grammar ×1

parsing ×1

performance ×1

raku ×1