Hi,
ich habe eine KLasse die ich Filestreamer nenne und für alles mögliche verwende (downloaden von daten, entschlüsseln/verschlüsseln, etc).
Ich frage mich, ob jemand Erfahrung hat wie man dieses Ding vielleicht noch schneller bekommt. Das Original ist viel länger und einige Debuginformatinen die pro Schleifenwiederholungen ausgegeben werden sind vermutlich mehr verantwortlich für eine langsamere Performance als dieser Kern an sich. Trotzdem würde mich interessieren ob jemand die Erfahrung gemacht hat, dass es anders schneller geht. Mir fällt garkeine andere Möglichkeit ein nur über die Buffergröße könnte ich mir vorstellen, dass da noch was zu holen ist. Weiß da jemand mehr? Ich hab etwas Zeitdruck und würde bevor ich groß zu Testen beginne gerne wissen ob es eine generelle Meinung/Taktik gibt...sowas wie..."je größer der Buffer, desto schneller, falls...".
also der Kern der Sache sieht etwa so aus:
Für jeden Tipp oder Gedankengang bin ich dankbar
mfg Andi
ich habe eine KLasse die ich Filestreamer nenne und für alles mögliche verwende (downloaden von daten, entschlüsseln/verschlüsseln, etc).
Ich frage mich, ob jemand Erfahrung hat wie man dieses Ding vielleicht noch schneller bekommt. Das Original ist viel länger und einige Debuginformatinen die pro Schleifenwiederholungen ausgegeben werden sind vermutlich mehr verantwortlich für eine langsamere Performance als dieser Kern an sich. Trotzdem würde mich interessieren ob jemand die Erfahrung gemacht hat, dass es anders schneller geht. Mir fällt garkeine andere Möglichkeit ein nur über die Buffergröße könnte ich mir vorstellen, dass da noch was zu holen ist. Weiß da jemand mehr? Ich hab etwas Zeitdruck und würde bevor ich groß zu Testen beginne gerne wissen ob es eine generelle Meinung/Taktik gibt...sowas wie..."je größer der Buffer, desto schneller, falls...".
also der Kern der Sache sieht etwa so aus:
Code:
PrintStream ps;
InputStream is = null;
byte[] buf = new byte[2048]; // <- wer weiß was zum Thema Performance?
boolean volatile end = false;
int n;
/*
* zB für download:
* URLConnection conn = url.openConnection();
* in = conn.getInputStream();
*/
try {
while ((n = is.read(buf)) > 0 && !end) {
ps.write(buf, 0, n);
}
} catch (Exception e) {
} finally {
is.close();
}
Für jeden Tipp oder Gedankengang bin ich dankbar
mfg Andi