php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > ASP, PERL, CGI, C und alles andere
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;)

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-02-2006, 11:20
Romeo-G
 Newbie
Links : Onlinestatus : Romeo-G ist offline
Registriert seit: Feb 2006
Beiträge: 4
Romeo-G ist zur Zeit noch ein unbeschriebenes Blatt
Standard MySQL: PHP ist zu langsam. Alternative?!

Hallo,
ich plane seit einigen Wochen ein großes Projekt bei dem es um die Simulation von Szenarien an der Börse geht.
Um alle notwendigen Daten in meine MySQL Datenbank einzulesen, habe ich verscheidene php Skripte geschrieben.
Problematisch wird es jetzt nur bei dem "Simmulator".

Kombiniert man all meine Parameter in allen erdenklichen Varianten, dann komm ich auf knapp 8,5 Mio. Durchläufe. Eh mir ein php Skript das berechnet hat, bin ich Großvater. Die Frage ist jetzt also, welche Programmiersprache sich eher anbietet, um die Daten der MySQL Datenbank auszulesen und auszuwerten.

Am liebsten wäre mir natürlich, wenn es so einfach wäre wie in php, allerdings habe ich auch schon verschiedene andere Projekte in c und java gehabt, weshalb die Einarbeitung in diesen Sprachen auch kein Problem wäre.

Ich bin aber wirklich für alle Vorschläge offen und wenn ihr z.B. Delphi oder etwas anderes für richtig haltet, dann her damit.

Mir ist am Wichtigsten, dass das Programm dann im Enteffekt schnell läuft und schön wäre, wenn die Sprache eine Datenbankansteuerung so einfach ermöglicht, wie es in php der Fall ist.

Vielen Dank,
Romeo-G
Mit Zitat antworten
  #2 (permalink)  
Alt 06-02-2006, 11:43
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

PHP eignet sich wirklich nicht für rechenintensive Simulationen. Normalerweise generiert ein Script eine Webseite und ist fertig.

MySQL ist für massive Zugriffe aber auch nicht die beste Wahl. Was hast du denn für Daten zu speichern und wann (nur am Ende oder muß es schon zwischendurch sein)?

Ich würde es mit C und richtig viel RAM probieren.
Mit Zitat antworten
  #3 (permalink)  
Alt 06-02-2006, 11:52
Romeo-G
 Newbie
Links : Onlinestatus : Romeo-G ist offline
Registriert seit: Feb 2006
Beiträge: 4
Romeo-G ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,
ich habe zu ca. 19.000 Unternehmen die jeweiligen Tagesschlusskurse von 62 Tagen. Dazu kommen ein paar Zusätzliche Informationen wie gehandelte Stückzahl pro Tag u.ä..

Ich hatte persönlich auch zuerst an c bzw. c++ gedacht, weil ich darin auch selbst die größte Erfahrung habe. Als ich allerdings ein paar kurze Beispiele dazu gesehen habe, wie man mit c++ ne MySQL Datenbank ansteuert habe ich spontan erstmal resigniert.

natürlich kommt man mit der Einstellung nicht wirklich weiter aber warum den harten Weg wählen, wenn es vielleicht auch einfacher geht.

PHP ist an Programmieraufwand ja nun wirklich das non-plus-ultra.

Romeo-G

--

P.S.: Das Problem der Belastung für den Server könnte man natürlich dadurch senken, das man einen Teil der Daten in Arrays läd und somit nicht für jeden einzelnen Wert ne Anfrage an den Server schickt.

Ich denke aber, dass auch so der Server die kleinste Schwachstelle sein dürfte. Das Programm muss ja nicht nach 1 Sekunde fertig sein. Für meine Zwecke könnte ich ihm ca. 6 Stunden zur Berechnung geben.

Geändert von Romeo-G (06-02-2006 um 11:56 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 06-02-2006, 12:34
Arni
 PHP Junior
Links : Onlinestatus : Arni ist offline
Registriert seit: Mar 2001
Ort: Miami F.L
Beiträge: 691
Arni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schonmal mit Oracle
und Forms versucht ????
__________________
Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban
Mit Zitat antworten
  #5 (permalink)  
Alt 06-02-2006, 12:43
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ich überschlage es mal eben:

Unternehmen * Tage * Speicherbedarf eines Tagesschlußwertes = 19.000 *62 * 4Byte < 4,5MB

Das würde ich einmalig zu Beginn der Simulation in ein oder mehrere Arrays lesen. Aber nicht aus einer DB sondern aus einem CSV-File oder ähnlichem. Das dauert auch nur Microsekunden, du ersparst dir aber die Fummelei, mit C eine DB zu erreichen.

Die Eingabe ist im MB-Bereich, die Ergebnisse werden es wohl auch sein. Für Nebenrechnungen und Runcode nochmal einiges ... aber insgesamt bewegst du dich in einer Größenordnung, in der man alles komplett im Speicher halten und berechnen kann.

Ist deine Simulation "rundenbasiert"? Berechnest du eine Runde und mit den Ergebnissen gehts in die nächste Runde? Sicherlich.

Aber brauchst du in jeder Runde alle Ergebnisse aus allen vorherigen Runden? Oder werden deine Ergebnisse sonstwie größer? Dann wirds nämlich eng mit RAM.

Dennoch mußt du nicht gleich auf eine DB zurückgreifen, kannst Zwischenergebisse auch in Dateien speichern ... sozusagen dein eigenes Swapping implementieren.
Mit Zitat antworten
  #6 (permalink)  
Alt 06-02-2006, 12:49
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Romeo-G

Ich hatte persönlich auch zuerst an c bzw. c++ gedacht, weil ich darin auch selbst die größte Erfahrung habe. Als ich allerdings ein paar kurze Beispiele dazu gesehen habe, wie man mit c++ ne MySQL Datenbank ansteuert habe ich spontan erstmal resigniert.
das wundert mich aber echt ... denn, ob du mit C++ oder mit PHP eine Datenbankverbindung aufbaust, ist es ja nicht mehr als eine Zeile, also was soll denn die obige Aussage?
Mit Zitat antworten
  #7 (permalink)  
Alt 06-02-2006, 16:24
Romeo-G
 Newbie
Links : Onlinestatus : Romeo-G ist offline
Registriert seit: Feb 2006
Beiträge: 4
Romeo-G ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,
vielleicht wäre es hilfreich euch mein Projekt doch nochmal genauer zu beschreiben:

Führt man eine technsiche Analyse für ein Unternehmen durch, dann verfährt man immer nach den gleichen Mustern. Für die Analyse gibt es aber nur leider keinen allgemeingültigen Weg, sondern jeder Wertpapieranalyst hat sein eigens Handelssystem. Mir geht es nun darum ein Programm zu schreiben, dass die Signale von verschiedenen Indikatoren so bewertet, dass am Ende der Simmulation der größtmögliche fiktive Gewinn dabei rauskommt.

Im Ablauf sähe das so aus:
1. Berechnung einer Parameterkonstellation
--
2. Generierung einer Liste mit Kaufempfehlungen, wobei jeder Wert die
vorgegebenen Parameter aufweisen muss.
3. Fiktiver Kauf einer bestimmten Zahl an Werten.
--
4. Auswertung: Wie haben sich die gekauften Werte in den letzten 24 Std.
verhalten? Daraus folgen Verkaufsempfehlungen bzw. die Empfehlung
zu Halten oder Nachzukaufen.
5. Fiktiver Verkauf:
6. "goto" 2!

Am Ende des simmulierten Zeitraums werden alle Werte verkauft und der Depotwert wird in die Datenbank geschrieben, dann folgt das gleiche Spiel von vorne für eine andere Parameterkonstellation.

--

Zum Vorschlag mit der csv Datei:
Die Idee ist gar nicht mal schlecht aber vielleicht etwas umständlich, weil man zu Beginn der Berechnungen ja immer erst den Inhalt der Datenbank in eine csv Datei exportieren muss. Das dauert vielleicht etwas lang, besonders wenn ich meine Datenbank dann mit den Monaten/Jahres erweiter.

--

@asp2php:
Es wäre sehr hilfreich, wenn du mir einen Codeschnipsel dazu geben könntest.Ich würde den Weg über die Datenbank aus genannten Gründen schon bervorzugen.


Danke,
Romeo-G

Geändert von Romeo-G (06-02-2006 um 16:27 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 06-02-2006, 16:36
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wasfür Code? Um die Verbindung aufzubauen? Ich dachte, du hättest Erfahrung in C++? Du kannst entweder über ODBC oder direkt über API gehen, z.B. von sourceforge. Google wird dir mit Infos erschlagen, da muss ich nicht auch noch daran beteiligen.
Mit Zitat antworten
  #9 (permalink)  
Alt 07-02-2006, 10:41
Romeo-G
 Newbie
Links : Onlinestatus : Romeo-G ist offline
Registriert seit: Feb 2006
Beiträge: 4
Romeo-G ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,
wenn ich den bisherigen Stand der Dinge mal zusammenfassen darf, dann komm ich wohl doch nicht drum herum mir den c code anzugucken.

Melde mich dann, wenn ich dabei festhänge.
Romeo-G
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
Top-Side.de Php Guest Book

Gästebuch mit Smilies, Ip Sperre und Spammschutz. Anzeige von Datum, Name, E-Mail, Homepage und Icq. Html ist deaktiviert.

26.07.2019 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:22 Uhr.