0 votes
in SoSci Survey (dt.) by s030577 (145 points)

Hallo zusammen,

ich habe SoSci Survey vor kurzem auf unserem Uni-Server von Version 3.1.04 auf 3.2.05 aktualisiert. Nach dem Update habe ich den Eindruck, dass die Performanz der put Funktion deutlich abgenommen hat.

Konkret geht es darum, dass ich in einer Studie für jede Versuchsperson aus einer großen Datenbank zufällig 45 Einträge mittels einer foreach loop auf einnal ziehe und diese anzeige. Die 45 Einträge speichere ich mit der put Funktion für die spätere Auswertung ab.

In der älteren SoSci Version ging dies relativ schnell - seit dem Update hängt SoSci eine ganze Zeit, bevor die Frage angezeigt wird. Ich habe intern den Code auch testweise so verändert, dass beispielsweise keine Einträge aus der Datenbank abgerufen werden (sondern immer ein konstanter Wert genutzt wird). Das macht keinen Unterschied. Die Verlangsamung verschwindet aber sofort, wenn ich die Abspeicherung der Werte mit put auskommentiere.

Ich wollte fragen, ob jemand ein ähnliches Problem mit der put Funktion hat und ob es hierfür eine Lösung gibt?

Viele Grüße

by SoSci Survey (305k points)
Entsprechende Hinweise habe ich auch aus einem anderen Befragungsprojekt bekommen. Ich bin bereits daran, die Ursache für das Performance-Problem zu identiifzieren und hoffe, dass wir in Kürze ein Update bereitstellen können.
by s030577 (145 points)
Vielen Dank für die schelle Antwort und dass Sie an einem Update hierzu arbeiten!

1 Answer

0 votes
by s030577 (145 points)
 
Best answer

Hallo zusammen,

in Rücksprache mit Herrn Leiner habe ich die Ursache und Lösung des Problems gefunden, die ich hier kurz teilen wollte:

Wenn ich in der vorherigen SoSci Version (3.1) mit put einen Wert in die interne Variable GA01_01 schreiben wollte, lief folgender Code problemlos und schnell:

$j=1;
put("GA01_".$j,"hallo");

Ich habe den Befehl bisher so geschrieben, da $j auch Werte >9 annehmen kann und ich daher keine führende 0 in den String davor mit reinschreiben wollte.

Dieser Befehl erzeugt in der neuen Version aber einen lag, was vermutlich daran liegt, dass von GA01_1 auf GA01_01 geschlossen werden muss.

Wenn der Befehl geändert wird in:

put(id("GA01", $j),"hallo");

tritt der lag in der neuen Version nicht mehr auf.

Viele Grüße

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...