2016-09-06 2 views
1

저는 ResponseMessageService() 클래스가 있습니다.이 클래스에는 여러 가지 메소드가 있습니다. 하나의 메소드 만 필요합니다.Python : 어느 것이 더 적은 메모리와 실행 속도를 필요로합니까?

그럼 어느 것이 더 낫습니까?

직접 해당 메서드를 호출합니까?

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

나에 의해 먼저 적은 메모리 및 실행을했다합니다

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

주시길 객체

response_message_service = ResponseMessageService() 

을? 귀하의 질문에 대해서는

+1

를 사용하여, 예를 들어, 언 바운드 적어도 때까지 메모리에 저장한다 여기 수업. 실행 현명한 둘 다 거의 동일하게 될 것입니다, 유일한 차이점은 참조가 없으므로 가비지 수집됩니다. –

+1

* 실제 * 메모리 또는 속도 문제가 있습니까? 그렇지 않은 경우 가장 읽기 쉽고 유지 보수가 쉬운 것을 선택하십시오. 그렇게한다면 실제 메모리/속도 문제를 찾아 추측하지 마십시오. 조기 최적화가 좋지 않습니다. –

+0

Thanks @AshwiniChaudhary. "가비지 수집"은 실행 후 자동으로 메모리에서 삭제된다는 의미입니까? 권리? 그리고 또 하나. 메모리에있는 다른 클래스의 메소드를로드합니까? – skpaik

답변

1

,

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

가능성이 적은 메모리를 취할 것입니다. 변수에 인스턴스를 할당

인스턴스의 아무 소용이 없다,이 변수의 이름은 더 나은 다음에 정적 또는 클래스 방법을 del response_message_service

+0

는 당신에게 당신의 기능은 클래스에 독립적 인 것 같다 – skpaik

+1

@btquamto 너무 감사 @BartFriederichs 감사합니다, 그래서, 별도의 유틸리티 모듈에 error_handler.wrong_reg_message'같은 (데이터를 넣어하는 것이 좋습니다 = "당신의 등록 ID가 잘못되었습니다 ")' –

관련 문제