우리는 순수 최적화의 기술을 잃어버린 것일까요?

초기 엔지니어들은 매우 제한적인 환경에서 작업했습니다. 아폴로 유도 컴퓨터(Apollo Guidance Computer)의 RAM은 단 2KB뿐이었습니다. 모든 비트가 중요했고, 모든 CPU 사이클이 필수적이었습니다.

오늘날 우리는 기가바이트 단위의 메모리를 사용합니다. 우리는 종종 더 많은 하드웨어를 추가함으로써 문제를 해결하곤 합니다. 코드가 느리거나 무거우면 RAM을 더 추가합니다. 이러한 습관은 우리에게서 순수 최적화의 기술을 앗아갑니다.

제약 조건을 고려함으로써 더 나은 소프트웨어를 작성할 수 있습니다.

Python에서 대용량 텍스트 파일을 처리하는 방식을 살펴보겠습니다.

일반적인 방식: 많은 개발자가 파일 전체를 한 번에 메모리로 읽어 들입니다.

최적화된 방식: 파일을 한 번에 한 줄씩 처리합니다.

이 차이는 엔지니어링 철학에 관한 것입니다.

리소스를 추가하는 것은 임시방편일 뿐입니다. 이는 취약한 소프트웨어를 만듭니다. 제약 조건을 설계의 핵심으로 삼는 것이 견고한 소프트웨어를 만듭니다.

최적화는 단순히 속도에 관한 것이 아닙니다. 리소스를 세심하게 고려하는 것에 관한 것입니다.

코드를 작성할 때 스스로에게 물어보세요:

더 나은 소프트웨어는 절제된 습관에서 나옵니다.

출처: https://dev.to/prabashanadev/have-we-lost-the-art-of-pure-optimization-31b9