2015년 5월 5일 화요일

파이썬(Python) 속도 최적화 기법

파이썬 코드의 속도를 올리는 방법에는 수많은 트릭들이 존재한다. 그러한 부분은 C로만 작성하는 것을 고려하기도 한다.

한가지 알아둘 것은 함수와 메소드 호출은 다소 힘이 든다. 만일 순수하게 인터페이스를 인스턴스 변수들을 가져오는 것으로 설정하거나 다른 메소드를 호출하지 않는 수많은 작은 함수들로 디자인했다면 좀더 직접적인 방법 즉, 인스턴스 변수들로의 직접 접근 사용을 고려해볼 수 있을 것이다.

표준 파이썬 모듈 프로파일을 보면 프로그램에서 어느 부분이 시간을 가장 많이 소비하는지 찾아낼 수 있다. 한가지 기억해야 할 점은 다른 프로그래밍 경험에서 얻은 수많은 표준 최적화 방법들은 파이썬에서도 잘 적용된다는 것이다.

예를 들어 커널 시스템 호출의 과부하를 피하기 위해 출력을 조금씩 사용하는 것보다 많은 양을 사용하는 것이 빠르다. 그러므로 모든 출력을 한번에 기록하는 CGI 스크립트는 출력을 수많은 작은 조각들로 기록하는 것보다 확실한 속도 향상을 가져올 것이다.

Reentrancy Attack: 블록체인 스마트 컨트랙트의 치명적인 취약점

블록체인 기술이 전 세계적으로 주목받으면서 스마트 컨트랙트(Smart Contract)의 사용이 급격히 증가하고 있습니다. 하지만 그만큼 보안 취약점도 함께 늘어나고 있는데, 그 중에서도 Reentrancy Attack(재진입 공격)은 매우 치명적이고...