본문 바로가기

성능

(11)
[자바스크립트] 자바스크립트 성능이야기 발 행: 2012년 9월 17일지은이: 박재성, 심상민, 양정권, 황준호 머릿말 일부 발췌:만약 사용자에게 인내심을 요구하고 있다고 생각한다면 지금보다 웹사이트의 성능을 높일 수 있는 방법이 없을지 고민해야 한다. 성능을 높인다는 것은 단순히 체감 속도를 높여 만족감을 높이는 것만은 아니다. 웹 사이트의 성능을 높이면 한정된 시간에 사용자에게 더 많은 것을 보여 줄 수 있고 사용자로부터 행동을 이끌어 낼 가능성을 높일 수 있다. 또한 느린 사이트로 사용자가 옮겨 가는 것을 줄여 사용자를 모을 수도 있다. 그리고 네트워크와 같은 한정된 자원을 절약할 수도 있다. 이것은 동시에 더 많은 사용자가 사이트를 이용할 수 있다는 것을 의미하며, 더 적은 비용으로 서비스를 운영할 수 있다는 것을 의미한다. 책을 읽은..
[자바성능] static의 올바른 사용 static에는 static 초기화 블럭이라는 것이 있습니다. static 초기화 블록은 위와 같이 클래스 어느 곳에나 지정할 수 있습니다. 이 static 블록은 클래스가 최초 로딩될 때 수행되므로 생성자 실행과 상관없이 수행됩니다. 위의 코드처럼 사용했을 때, staticVal의 값은 마지막에 지정한 값이 됩니다. static 블록은 순차적으로 읽혀집니다. package com.perf.statics; public class StaticBasicSample2 { static String staticVal; static { staticVal = "Static Value"; staticVal = StaticBasicSample.staticInt + ""; } public static void main(S..
[자바성능] for 루프 성능 1. 조건문에서의 속도 조건문은 성능에 얼마나 많이 영향을 줄까요? 먼저 조건문에 어떤 것들이 있는지 보고, 조건문이 얼마나 성능에 영향을 주는지 알아보면, 조건문의 종류는 다음과 같습니다. if-else if-else switch if문 안에는 boolean 형태의 결과값만 사용할 수 있습니다. switch문은 byte, short, char, int, string 등을 사용한 조건 분기가 가능합니다. 일반적으로 if문에서 분기를 많이 하면 시간이 많이 소요된다고 생각하는데, 실제로는 그렇지 않습니다. if문 조건 안에 들어가는 비교 구문에서 속도를 잡아먹지 않는 한, if 문장 자체에서는 그리 많은 시간이 소요되지 않습니다. StopWatchAverage s1 = new StopWatchAverage..
[자바성능] 자료형 성능 비교 일반적인 프로젝트에서 VO객체 패턴을 많이 사용합니다. 그 객체 안에는 대부분 Collection이나 Map 등의 인터페이스를 상속받는 객체가 많이 사용됩니다. 대부분 목록 데이터를 가장 담기 좋은 것이 배열이고, 그 다음으로 Collection 연관된 객체이기 때문에 그렇습니다. 배열은 처음부터 크기를 지정해야 하지만, Collection의 대부분의 객체들은 그럴 필요가 없이 객체들이 채워질 때마다 자동으로 크기가 증가됩니다. 어떤 객체를 써야 성능상 좋은지에 대해 알아보겠습니다. 1. Collection 및 Map 인터페이스의 이해 배열을 제외하고 데이터를 담기 가장 좋은 객체는 Collection 및 Map 인터페이스를 상속한 객체입니다. 사진 출처 ( http://foratgweb.blogspot..
[자바성능] 프로그램 속도 측정 성능이 느리다고 할 때 가장 먼저 해야 하는 작업은 병목 지점을 파악하는 것입니다. 자바 기반의 시스템에 대하여 응답 속도나 각종 데이터를 측정하는 프로그램은 많이 있습니다. 애플리케이션의 속도에 문제가 있을 때 분석하기 위한 툴로는 프로파일링 툴이나 APM(Application Performance Monitoring 혹은 Management) 툴 등이 있습니다. 프로파일링 툴(프로파일러)이란? 프로파일링 툴- 소스 레벨의 분석을 위한 툴입니다.- 애플리케이션의 세부 응답 시간까지 분석할 수 있습니다.- 메모리 사용량을 객체나 클래스, 소스의 라인 단위까지 분석할 수 있습니다.- 가격이 APM 툴에 비해서 저렴합니다.- 보통 사용자수 기반으로 가격이 정해집니다.- 자바 기반의 클라이언트 프로그램 분석을..