[PetersWerkWiki] [TitleIndex] [WordIndex

Perl-script getNgramData.pl omzetten naar Go en C++.

Voor het compileren van de programma's, gebruik dit Makefile

Let op: De versie in Go werkt alleen voor data die is gecodeerd in utf-8 (of us-ascii).

Gebruik, voorbeeld:

zcat BESTAND.sfr | getNgramData.pl -c 1 -f 2 -g 1350

Data hier:

/net/aistaff/vannoord/z/Alpino/PosTagger/Construct/DATA

Relatieve executietijden, getest met ruim 4 miljoen regels:

32-bits

64-bits

Perl

1.0

1.0

getNgramData-fixed.pl

Perl

--

0.8

getNgramData-fixed2.pl

Go

0.7

1.4

getNGD.go

Go

--

0.6

getNGD2.go

C++

--

0.5

getngd.cc

C++

--

0.3

getngd2.cc

32-bits: thuis
64-bits: op skuld, data op lokale schijf

Versie 2 is waarin het tellen zoveel mogelijk wordt uitgesteld tot alle data is verwerkt.

Versie 2 heeft een nieuwe optie: -s, laat gebruik van geheugen en tijd zien.

Test op volker met 411.415.402 regels, vanuit zcat:

Go versie 2:
geheugen: 8.8%
tijd: 1:23:33

C++ versie 2:
geheugen: 4.0%
tijd: 40:40

incrementele verwerking

Eerst de data in alle *.sfr-bestanden afzonderlijk tellen, en daarna de resultaten samenvoegen.

Als er maar een paar *.sfr-bestanden zijn veranderd hoef je niet alle data opnieuw te verwerken, en gaat het dus veel sneller.

Gebruik hiervoor dit script: MakeAll make.

Pas eventueel de opties aan in het script Makefile : OUTDIR, OPTPRE, OPTPOST

attachments

Download alles: PerlScriptGetNgramData.tar.gz

  • [get | view] (2012-03-17 09:31:30, 0.4 KB) [[attachment:Makefile]]
  • [get | view] (2012-10-15 19:10:25, 13.3 KB) [[attachment:getNGD.go]]
  • [get | view] (2012-10-15 19:10:25, 13.9 KB) [[attachment:getNGD2.go]]
  • [get | view] (2012-01-26 10:53:26, 16.8 KB) [[attachment:getNgramData-fixed.pl]]
  • [get | view] (2012-01-26 10:53:58, 16.8 KB) [[attachment:getNgramData-fixed2.pl]]
  • [get | view] (2011-12-24 18:08:39, 16.7 KB) [[attachment:getNgramData.pl]]
  • [get | view] (2012-01-26 10:54:16, 16.9 KB) [[attachment:getngd.cc]]
  • [get | view] (2012-01-26 10:54:28, 18.1 KB) [[attachment:getngd2.cc]]
  • [get | view] (2012-01-26 10:54:40, 14.2 KB) [[attachment:getngdpost.cc]]
  • [get | view] (2012-01-26 10:54:51, 10.0 KB) [[attachment:getngdpre.cc]]
 All files | Selected Files: delete move to page copy to page


CategoryPerl CategoryGo CategoryCc CategoryCorpora