Java vs. JavaScript

Moin Andreas,
der Code ist leider nicht öffentlich., er soll/wird in einem lokalen Netzwerk verwendet.
Ich muß bei jeder Eingabe ca. 200 Felder berechnen und aktualisieren, und nicht nur bei "Submit". Bei jeder Berechnung wird ein Großteil des Scriptes durchlaufen, zum Teil mehrmals, da es sich um Funktionen handelt..
Auf der Seite befinden sich ca 15.000 Felder. Bei jeder Eingabe werden ca. 200 Felder aktualisiert.
Mit "Submit" werden die Daten dann als ca. 600 Datensätze gespeichert. Aber dies geht wunderbar schnell, aber hier ist die Geschwindigkeit ist hier nicht so wichtig, da nur am "Ende" der Arbeit gespeichert wird.
Alle Angaben sin ca. Werte, da die ganze Chose dynamisch aufgebaut ist und sich die Größe jederzeit ändert.

Es stimmt der Code ist teilweise versaut, aber bei weitem nicht total ;)
Er hat einige Schleifen, die ich optimiert habe, aber mit mäßigem Erfolg.

Ich habe nun den Verdacht, daß es für JavaSript recht lange dauert einzelne Felder aus der HTML-Datei auszulesen.
Ich bin nun dabei, die ganze dynmische HTML/PHP-Tabelle in ein JavaSript-Array zu schreiben, um so die Lesezugriffe auf die Tabelle zu minimieren.
Gruß
Raabun (Dirk-Uwe)
 
Original geschrieben von oglimmer
Hast Du Dir mal meine Bookmark-Verwaltung angesehen?

Ich führe alle Kommunikation mit dem Server in einem (halb-) versteckten Frame durch. Die Argumentation dass man dann also doch auf DB-Zugriff warten muss, ist nur halb richtig. Sicher gilt das für lesende Zugriffe, aber schreibende Zugriffe, kann man im Hintergrund durchführen.

Richtig ist dass heutzugtage JavaScript im überwiegenden Fall für "Spielerei" eingesetzt wird, ich bin aber der Meinung dass hier viel Potential drin ist, das ungenutzt ist.

Ich habe mir die Bookmarkverwaltung angesehen, und genau da kommt einer der
grössten nachteile von JavaScript zum Vorschein.

Unter konqueror funktioniert Sie nicht. Es gibt zu viele Browser die unterschiedlich JavaScript beherrschen.

Mit einer Serverseitigen geschichte kann mann viel mehr machen.
Und mann muss auch nicht 200 Datensätze bei jedem Seitenaufruf neu laden, dazu hat mann die Möglichkeit diese Daten beim Server im Speicher zu halten, und das im Application Scope so das bei jedem Aufruf, egal welcher Session mann diese Daten abrufen kann.
Persistenzierung in ein Datenbank kann mann ebensolang zurückhalten bis wirklich Daten geschrieben werden müssen. Und selbst bei der Persistenzierung in die Datenbank, brauch mann nicht die geänderten Daten neu aus der Datenbank auslesen um diese im Application Scope zu schreiben.
Mann kann auch direkt die Daten im ApplicationScope updaten. Wenn mann sauber Programmiert reicht es für mehrere Stunden nutzung einer Application nur eine Handvoll von Datenbankoperationen durchzuführen.
 
Ich bin zwar Freund des JavaScriptes und habe mich da mit Mühe reingefuchst (so halb), aber denoch kann ich dem gesagten nur zustimmen:

JavaScript ist und bleibt für Effekte geeignet, aber sollte keine kompletten Funktionen erstezen.
Ich selber setze mich mittlerweile mit PHP auseinander weil JavaScript an seine Grenzen gestossen ist und in vielen Dingen zu langsam gearbeitet hat.
JavaScript werde ich weiterhin für "kleine Annwendungen" nutzen, aber vermehrt versuchen auf Alternativen auszuweichen.
 
Stimmt, aber für meine Problem nicht der richtige Weg, dazu müßten dann zu viele Daten geschaufelt werden. Der reine Seitenaufbau dauer zur Zeit schon 20sec. (im lokalen Netzwerk und nicht über Modem ;) )
Ich suche einfach einen "Rechenknecht", der auf meinem Client läuft...
 
Original geschrieben von Raabun
Stimmt, aber für meine Problem nicht der richtige Weg, dazu müßten dann zu viele Daten geschaufelt werden. Der reine Seitenaufbau dauer zur Zeit schon 20sec. (im lokalen Netzwerk und nicht über Modem ;) )
Ich suche einfach einen "Rechenknecht", der auf meinem Client läuft...

Mhhh wie gesagt, die Seiten sind so schnell wie der Entwickler sie schuff.
Sprich wer komplett auf Caching verzichtet der wird auch lange Antwortzeiten haben.

Mit Caching wird mann auch Seiten die tausend Datensätze lesen müssen auf innerhalb < 1 Sec Laufzeit bringen.
 
...bekommt der Cache mit, wenn sich Daten in der Datenbank geändert haben ?
Mein Programm sollte in gewissen Grenzen schon Multi-User fähig sein. Meine Browser (Opera 7.23, Netscape 7.1 und der IE6) sind aber auch mit allen eingeschalteten Caches zu langsam und arbeitet fehlerhaft.
Nun nocheinmal eine ganz wertfreie Frage:

Gibt es eine Programmiersprache oder Scriptsprache, die schneller als JavaScript ist und auch auf dem Client laufen kann?
Wichtig, nach meiner Erfahrung liegt der Bottleneck in der Verbindung
JavaSript - HTML/PHP

Auf diesem Aspekt ist noch keine Antwort eingegangen :(
Aber was nicht ist kann noch werden.

Noch zur Erklärung:
Es geht nicht um eine "Internet-Seite", sondern um eine Software, mit der gearbeitet wird.
Es werden auf einmal 600 Datensätze geladen. Eine Eingabe in einem der Datensätze beeinflußt gleich 20 Datensätze auf einmal. Diese Änderungen muß der User sofort sehen (ohne "Submit" und Neuladen)
Es sollte einwenig wie eine Spread-Sheet-Applikation wirken, aber keine sein.

Gruß
Raabun
 
Original geschrieben von Raabun
...bekommt der Cache mit, wenn sich Daten in der Datenbank geändert haben ?

Nun wenn du es so programmierst das jedesmal wenn daten geändert werden diese im Cache und in der Datenbank geändert werden, natürlich.
Manche Technologien machen das ganz automatisch (z.b J2EE mit EJB)

Original geschrieben von Raabun

Mein Programm sollte in gewissen Grenzen schon Multi-User fähig sein. Meine Browser (Opera 7.23, Netscape 7.1 und der IE6) sind aber auch mit allen eingeschalteten Caches zu langsam und arbeitet fehlerhaft.
Nun nocheinmal eine ganz wertfreie Frage:

Ich rede nicht von dem Browser Cache. Sondern ein selber implementiertes Caching auf dem Server


Original geschrieben von Raabun

Es geht nicht um eine "Internet-Seite", sondern um eine Software, mit der gearbeitet wird.
Es werden auf einmal 600 Datensätze geladen. Eine Eingabe in einem der Datensätze beeinflußt gleich 20 Datensätze auf einmal. Diese Änderungen muß der User sofort sehen (ohne "Submit" und Neuladen)
Es sollte einwenig wie eine Spread-Sheet-Applikation wirken, aber keine sein.

Dafür schreibe eine Applikation mit einer Programmiersprache deiner Wahl, und keine Browserbasierende geschichte.
 
..würde ich jetzt evtl. auch machen, aber die Browsergeschichte hat auch Vorteile beim "Malen", billige Tools, mehrer Platformen usw.
Aber ich finde es interessant, daß kaum einer "inhaltliche" Antworten schreibt.
Auf die Bottleneck-Geschichte ist noch keiner eingegangen, noch darauf ob es eine Alternative zu JavaScript gibt, ohne das ganze Projekt umzuschmeißen.
Ich denke, in der Zukunft geht der Weg zu browsergesteuerten Programmen.

Nun noch eine Frage: Hat hier jemand schon eine solche Applikation geschrieben?

...und noch was: So einfach bekommt man IMHO sonst keine Mehrplatz Software

Es ist einfach schlampige Software und Unwissendheit mir vorzuwerfen, und wißt Ihr was:

Ihr habt recht!

....aber dies alles sind keine Antworten auf meine Frage!

Naja....

Raabun
 
Zurück