人 煙403 에네르기파 - 아가 리엑션 귀엽다 ㅋ 2010. 3. 30. Linux (Fedora) 에서 CPU type 얻기 명령어 cat /proc/cpuinfo physical id 항목은 물리적으로 CPU 를 구분하고, Core ID 는 논리적으로 CPU 코어를 구분한다. 하지만 물리적으로 종류가 4개라도 4개의 CPU가 꽂힌지는 모른다. 한장에 2개의 CPU 가 들어갈 수도 있기 때문이다. Dual core 나 Hyperthreading 된 가상 CPU 는 physical id 는 동일하고 Dual core 같은 경우에는 core id 가 구분이 되지만 Hyperthreading 은 core id로 구분할 수 없다. Siblings 는 해당 Phisical CPU 당 몇개의 논리 CPU 가 존재하는지를 알 수 있다. CPU 정보 : /proc/couinfo 파일시스템 : /proc/filesystems 인터럽트 : /p.. 2010. 3. 22. 쓰레드에 안전한 초기화용 boost library 프로그램을 짜다 보면 딱 한번만 실행해야 하는 함수들이 있을수 있다. 그런경우 아래와 같이 static bool 변수같은걸 두고 그 값에 따라서 수행하기도 하는데 #include ... static bool once = true; if ( once ) { MUTEX_LOCK(); call_once(); once = false; MUTEX_UNLOCK(); } ... 이 함수가 multi thread 접근을 하는경우 초기화가 다중으로 될 수 있는 위험이 있다. 다행히 boost에서 thread 에 안전한 함수를 제공한다. boost::call_once() 는 연결된 함수포인터를보고 단 한번만 수행한다. 두번째로 받는 파라미터는 boost::once_flag 형이다. thread safe 하다. boost:.. 2010. 3. 19. Tip of Text Encoding in Java 자바 String Class 는 내부적으로 16Bit Unicode 라는 일관된 타입으로 관리한다. 이와 관련해 encoding performance issue 가 발생할 수 있는데, 예를 들면 CP949로 인코딩 된 입력문을 다른 모듈에 CP949 타입으로 전달하려고 할때 String 을 이용하는 경우, CP949 -> UTF-16(String 내부) -> CP949 에 해당하는 불필요한 연산을 거치게 된다. 따라서 이러한 불필요한 변환을 방지하는 한가지 팁으로 Byte array를 써서 넘기게 되면 변환을 거치지 않고 원본 그대로 전달할 수 있다. (출처) 울회사 H군. 2010. 3. 18. 이전 1 ··· 39 40 41 42 43 44 45 ··· 101 다음