Posts Tagged ‘perl’
Java, I/O a performance?
Vezměme si jednoduchý kousek kódu, který po řádcích čte data ze standardního vstupu a bez velkých cirátů je přeposílá na standardní výstup:
import java.io.*;
public class StreamEcho {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (String line = br.readLine(); line != null; line = br.readLine()) {
System.out.println(line);
}
}
}
Teď si vezměme perlový ekvivalent:
#!/usr/bin/perl -w
use strict;
while (<STDIN>) {
print;
}
A nakonec oběma verzemi prožeňte pár GB textových dat (data napřed něčím přečtěte jen tak, ať se v obou případech využívá disková cache). Taky vám perlová verze běží třikrát rychleji? Co s tím?
Aktualizace: podle komentářů důvodem bude hlavně konverze do Unicode a zpět, kterou se perlový kód narozdíl od Javy neobtěžuje (zmínili Zamboch a Petr Holík). Další rozdíl může být v tom, že System.out.println pokaždé provede flush (zmínil podlesh). Díky všem zúčastněným diskutérům!
Can Your Programming Language Do This?
… se jmenuje článek od Joela Spolskeho, kde autor vysvětluje základní myšlenku Map/Reduce (tedy převést problém na paralelizovatelné zpracovávání seznamů) na JavaScriptu.
Lispu neznaje, první odpověď, která mě na otázku v nadpisu napadla, byla: no jo, perl
Javu samotnou hanět nezačnu ani náhodou, nicméně na Joelově stížnosti na “Java-only” vzdělávání něco bude.