2016-09-06 6 views
1

Ich habe eine ResponseMessageService() -Klasse, die mehrere Methoden haben. Ich brauche nur eine Methode.Python: Was braucht weniger Speicher und die Ausführung ist schnell?

Dann Was ist besser?

diese Methode direkt aufrufen? von

ResponseMessageService().WrongRegMsg(data="Your Reg ID is wrong!") 

oder nehmen Sie ein Objekt

response_message_service = ResponseMessageService() 

nennen Dann

response_message_service.WrongRegMsg(data="Your Reg ID is wrong!") 

Welche nahm wird weniger Speicher und Ausführung ist zuerst?

+1

Bessere Verwendung es eine statische oder Klassenmethode machen, dann gibt es keinen Punkt der Instanziierung die Klasse hier. In der Ausführung werden beide fast gleich sein, der einzige Unterschied ist, dass man keine Referenzen hat, also wird Müll gesammelt. –

+1

Haben Sie * tatsächliche * Speicher- oder Geschwindigkeitsprobleme? Wenn nicht, wählen Sie diejenige, die am besten lesbar und wartbar ist. Wenn Sie dies tun, finden Sie die echten Speicher-/Geschwindigkeitsprobleme und raten Sie nicht. Vorzeitige Optimierung ist schlecht. –

+0

Danke @AshwiniChaudhary. "Müll gesammelt" bedeutet, dass es nach der Ausführung automatisch aus dem Speicher gelöscht wird? Recht? Und außerdem. Laden Sie andere Methoden dieser Klasse in den Speicher? – skpaik

Antwort

1

In Bezug auf Ihre Frage,

ResponseMessageService().WrongRegMsg(data="Your Reg ID is wrong!") 

wahrscheinlich weniger Speicher nehmen würde.

die Instanz einer Variablen zugewiesen wird es in dem Speicher gehalten wird, zumindest bis der Name der Variable ungebunden ist, beispielsweise durch del response_message_service

+0

Vielen Dank @btquamto – skpaik

+1

Ihre Funktion scheint unabhängig von der Klasse zu sein, daher empfehle ich, sie in ein separates Dienstprogramm zu stecken, so etwas wie 'error_handler.wrong_reg_message (data =" Ihre Registrierungs-ID ist falsch ")" –

Verwandte Themen