code21: DataOutputStream / Input.. für Client Server oder ...

Tag !
(von mir aus hätte der Sommer ruhig etwas länger andauern können !!! hmmm ... schade!
 Aber jetzt mein Problem ! )

Ich befasse mich zur Zeit mit dem Aufbau und Konstruktion eines ChatServers. Und dabei treffe ich auf folgendes.

Java arbeitet intern mit Unicode Zeichen. Wenn ich den DataOutputStream() verwende gibt es da die schöne Methoden readUTF() und writeUTF(). Dabei werden alle Java internen Unicode Zeichen in UTF-8 umgewandelt. (oder umgekehrt)

1.

Das UTF-8 Format soll platzsparender sein als normaler Unicode. Das würde mir bei einem Client-Server Betrieb sehr entgegenkommen ( um den anfallenden Traffic geringer zu halten ) !

Trifft das zu ??? Wenn ja um welchen Faktor ca. ???

2.

Aber da bleibt noch der Performance Faktor. Wie stark belastet der Data-Out/In-putStream() das System. Oder anders, gibt es Performance Unterschiede zwischen der normalen Verarbeitung (Input/OutputStream... Buffered ... und dann Byte by Byte) und dem Data-Out/In-putStream().

Wenn ja um welchen Faktor???

Durch diese beiden Faktoren  (Komprimierung UTF-8) / (CPU Belastung) möchte ich ermitteln ob sich die Implementierung in dieser Art überhaupt lohnt.

Tsusss bis bald ! :-)
code21

Hui ! mal wieder was kniffliges ...Sorry !!!

  1. Ok hat sich wohl erledigt !!!!

    UTF-8 eignet sich besonders gut für das arbeiten mit internationalen Schriftsätzen. Der Speicherbedarf kann dabei sehr unterschiedlich ausfallen. Viele der 2Byte Unicode Zeichen werden zwar in 1Byte UTF-8 gewandelt, allerdings gibt es auch Zeichen mit 3Byte Länge.

    So kann es vorkommen das UTF-8 um 50% größer ausfällt als normaler Unicode. ( Bei koreanisch und bei Chinesisch sogar 100% ).

    Trozdem arbeitet UTF-8 mit den gebräuchlichsten Sprachen platzsparend.

    DataOutputStream Performance ! ( writeUTF() readUTF() )
    Dazu werde ich wohl den Profiler einsetzen.

    Bis bald
    Tsuss code21