Portál AbcLinuxu, 8. listopadu 2025 22:40
time perl6 -e 'race for ^100000 {.put if .is-prime};' >/dev/null #64.94user 0.16system 0:18.49elapsed 352%CPU
time perl6 -e 'for ^100000 {.put if .is-prime};' >/dev/null #27.83user 0.03system 0:27.81elapsed 100%CPU
Co se týká knihoven Perlu 5, tak ty jdou celkem dobře použít i v Perlu 6 pomocí Inline::Perl5
use v6;
use XML::LibXML:from<Perl5>;
my $filename = '/tmp/playlist.xml';
my $dom = XML::LibXML.load_xml(location => $filename);
for $dom.findnodes('/playlist/movie/title') -> $title {
say $title.to_literal();
}
Srovnej s první příkladem z Perl XML::LibXML by Example.
(Samozřejmě někdy to zaskřípe.)
> perf stat -B perl6 -e 'race for ^100000 {.put if .is-prime};' >/dev/null
Performance counter stats for 'perl6 -e race for ^100000 {.put if .is-prime};':
45690.268196 task-clock:u (msec) # 3.574 CPUs utilized
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
43,963 page-faults:u # 0.962 K/sec
147,427,151,567 cycles:u # 3.227 GHz
192,903,900,056 instructions:u # 1.31 insn per cycle
42,450,934,486 branches:u # 929.102 M/sec
143,308,865 branch-misses:u # 0.34% of all branches
12.785179639 seconds time elapsed
> perf stat -B perl6 -e 'for ^100000 {.put if .is-prime};' >/dev/null
Performance counter stats for 'perl6 -e for ^100000 {.put if .is-prime};':
19705.629214 task-clock:u (msec) # 1.001 CPUs utilized
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
17,081 page-faults:u # 0.867 K/sec
65,094,631,015 cycles:u # 3.303 GHz
178,317,185,384 instructions:u # 2.74 insn per cycle
39,558,982,717 branches:u # 2007.497 M/sec
69,080,754 branch-misses:u # 0.17% of all branches
19.679696907 seconds time elapsed
> perl6 -v
This is Rakudo version 2017.12-279-g5cbd55281 built on MoarVM version 2017.12.1-62-ga04d1099b
implementing Perl 6.c.
Pokud se chcete zeptat na detaily přímo člověka, co většinu tohodle naimplementoval, tak máte jedinečnou možnost tady
1. března v Brně.
Já bych to nazval přehnaným optimismem. Rakudo neprojde ani vlastními testy na PowerPC nebo 32-bitovým ARMu. Platformě závislé soubory instaluje do /usr/share, skripty kamsi mimo PATH, při instalaci modulu se předkompilovává bytecode, který je závislý na proměnných prostředí, cesta k nainstalovaným modulům je zadrátovaná na několika místech a tak dále. Že to potřebuje Perl 5 k instalaci, je už jen detail.
Nedávný dopis od Elizabeth, kde píše, jak Perl 6 je skvělý, jen nemá moduly a že řešením bude, když p5p přestanou pracovat na Perlu 5 a budou místo toho portovat moduly na Perl 6, je fakt čin zoufalého člověka. Nebo člověka, který neví, o co mluví.
jo, jsem taky silenec - a zajimave je, ze se mi to pouziva cim dal lepe...
Bud PSF podporu (opet) prodlouzi nebo se toho chytne nekdo jiny.Byl bych radsi kdyby se tak nestalo, ale asi to tak bude. Red Hat to bude "podporovat" ve svych produktech jeste roky.
Kodu napsaneho pro Python 2 je prilis moc (a stale se pise novy).Ano.
neni to hracka co se vyviji od roku 2000 a mozna ted dospela k nejake specifikaci...
neni to uplne novy jezyk +- zaklad je python2 s par nekompaktibilnimi vecmi ( ketere si vynutily novou Major verzi)
narozdil od Perlu6 python3 bude v nejblizsi dobe defaultni varianta ve SLESu, openSUSE , Fedore etc.
a na rozdil od Perlu5 python2 RedHad i SUSE zabiji meze 2024/2027 s tim ze uz predtim veskera mainteance bude jen pro platici zakazniky a na starych verzich distribuce
toho noveho kodu v python2 je stale mene ... a napr. nove Django je uz jen Python 3.4+.
.
BTW brožurka pro refresh jak je na tom ten Perl 6.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.