Programming
C/C++ programming
-
C++의 ifstream의 small buffer 문제
C++ 프로그램에서 ifstream을 자주 사용하게 되는데, 주로 이 클래스의 멤버 함수인 getline()을 이용하여 한 줄씩 처리하는 경우가 대부분이다. 이럴 때 아무 생각없이 getline()에 사용할 buffer의 크기를 너무 작게 잡으면 해결하기 어려운 문제가 발생할…
-
Perl 해커인 Jesse Vincent와의 간담회 사진
회사에서 Perl 해커인 Jesse Vincent와의 간담회가 열린 적이 있었는데, 간담회가 끝나고 사진을 찍었다는 것을 몇 달이 지난 후에야 기억해냈다. 그가 자신의 Flickr에 올려두었을 것 같아서 열심히 뒤져보고 결국 찾아냈다. 권순선 팀장님은 왼쪽에서 두번째에…
-
[C/C++] 변수 초기화의 오버헤드
다음의 두 코드 조각, char * arr[100]; 와 char * arr[100] = { (char *) 0, }; 는 심각한 성능 차이를 보인다. 자주 호출되는 함수나 loop 안에 이런 코드를 넣으면, 성능 저하가 크게…
-
Python에서 현재 함수의 이름과 상위 함수의 이름 출력하기
wiki에 추가 내용 작성해뒀습니다. https://wiki.terzeron.com/Programming/Python/Python에서현재함수의이름과상위함수의이름_출력하기 #!/usr/bin/env python import sys def funcname(): return sys._getframe(1).f_code.co_name + "()" def callername(): return sys._getframe(2).f_code.co_name + "()" def test(): print funcname() print callername() def main(): test() main() 실행 결과는…
-
Python profiling 예제
다음의 예제는 python에 기본 내장된 프로파일러(profiler)인 hotshot을 이용하여 GNU prof와 비슷하게 프로파일링하는 것을 시연해 본 것이다. #!/usr/bin/env python # -*- coding: utf-8 -*- # vim: set fileencoding=utf-8 : import hotshot, hotshot.stats def test_func2(i):…