2011-08-24 4 views
0

루비에서 루프 프로그램을 작성했으며 각 루프 이후에 사용되는 RAM이 눈에 띄게 증가하는 것을 볼 수 있습니다! 루비에 상응하는 PHP의 "get_defined_vars"함수는 무엇입니까?

그래서 나는 trayed에 :

  • 루프의 끝 부분에 사용 GC.Start하지만 더 효과
  • 변경 모든 내부 루프 변수가없는 각 루프 후 상승 계속 사용할 글로벌 그러나 메모리.

그래서 느릅 나무보기 내에서 사용하는 메모리가 그런 식으로 성장하기 위해 루비에서 PHP의 "get_defined_vars"기능의 동등한은 무엇입니까?

+0

HTTPS의 코드를 게시하시기 바랍니다에게 것으로 보인다. com/질문에 너무 큰 경우. – SirDarius

+0

죄송합니다. 그것에 게시 됨. – cz3ch

+0

'GC.stress = true'가 RAM을 소모하는 유일한 방법 인 것처럼 보이지만 스크립트를 많이 느리게합니다. – cz3ch

답변

3

Kernel.local_variables는 가장 가까운

+0

그래도 가장 가까운 것이지만 local_variables와 global_variable 버전은이 버전을 하나만 저장할 수 있기 때문에 디버깅 할 수 있습니다. 당신이 그것을보고 싶다면 소스를 게시했습니다. – cz3ch

2

나는 당신을 http://ruby-prof.rubyforge.org/ 권하고 싶습니다.

매우 포괄적 인 도구입니다. 홈페이지에 따르면

:

루비 교수는 통화 시간, 메모리 사용량 및 오브젝트 할당 등 다양한 매개 변수의 수를 측정 할 수 있습니다.

편집 : 는 최근 자사의 GitHub의 페이지에 업데이트 된 것 같다 : //gist.github : https://github.com/rdp/ruby-prof

+0

이 도구에 대한 많은 감사의 말을하지만 실수가 어디인지 찾을 수 없습니다. 당신이 그것을 살펴볼 수 있다면 나는 그 소스를 게시했다. – cz3ch