모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    중용자님의
    개인페이지입니다
    가입 : 12-10-09
    방문 : 1057회
    닉네임변경 이력
    회원차단
    회원차단해제
     

    중용자님의 댓글입니다.
    번호 제목 댓글날짜 추천/비공감 삭제
    634 어셈블리 최적화 [새창] 2015-07-08 20:53:13 0 삭제
    edx + mem2 - mem1 = mem2 는 컴파일 타임에 결정되는게 아니라 실행 중에 edx에 대입이 된 후 그렇게 계산된 결과가 나오는 것이죠.
    mem1의 주소가 1000h 이고 mem2의 주소가 1004h면 add ebx, [edx + mem2 - mem1]는 컴파일시 add ebx, [edx + 4]로 컴파일이 됩니다.
    edx는 상수가 아닌 레지스터이고 레지스터를 이용하여 메모리에 접근할 시 직접적으로 메모리에 접근할 때보다 훨씬 빠르게 접근합니다.
    edx가 mem1이라 하더라도 [mem1]과 [edx]는 처리하는 방식자체가 다르다는 것이죠.
    633 어셈블리 최적화 [새창] 2015-07-08 20:37:38 0 삭제
    ; 905 mov eax, [edx]
    ; 920 mov [edx], eax
    레지스터를 이용하여 간접주소로 피연산자를 사용하면 레지스터만 사용할 때보다 약간의 시간이 증가합니다.

    ; 827 add eax, ebx
    ; 905 add eax, [edx]
    ; 9906 add [edx], eax
    ; 9890 add eax, [mem1]
    ; 9953 add [mem1], eax
    add는 메모리를 사용할 경우 10배 이상 시간이 걸립니다.
    add 레지스터를 이용한 간접주소를 사용해도 메모리 사용시간과 동일하기 때문에 레지스터들만 이용해 add를 한 후 mov로 메모리에 저장하는 것이 최선의 방법입니다.
    632 어셈블리 최적화 [새창] 2015-07-08 20:28:45 0 삭제
    mov 명령어 타입별 실제 테스트 결과 입니다. 2번째 피연산자로 상수를 대입하면 레지스터와 같은 속도를 보여줍니다.
    ; 827 mov eax, ebx
    ; 1732 mov eax, [mem1]
    ; 1748 mov [mem1], eax
    메모리를 사용하면 피연산자 위치에 상관없이 2배 정도 시간이 걸립니다.
    631 어셈블리 최적화 [새창] 2015-07-08 20:10:09 0 삭제
    CPU는 당연히 CPU에서 멀어질수록 접근 속도가 다릅니다.
    32비트 기준 레지스터와 상수가 1이라면 메모리는 7까지도 증가합니다.
    물론 메모리 접근의 경우 캐쉬에 따라 속도가 달라지겠지만 최대의 경우 7배가 걸린다는 거죠.

    mov 명령어는 레지스터와 상수만 사용할 경우 1, 첫번째 피연산자를 메모리를 사용할 경우 2, 두번째 피연산자를 메모리를 사용할 경우 3이 됩니다.
    add 명령어는 첫번째 피연산자에 메모리를 사용할 경우 7이고 나머지는 1입니다.
    위의 명령에서 메모리를 직접 사용한 건 첫번째 mov 밖에 없죠.

    참고로 어셈블리 명령어는 피연산자로 메모리를 한개만 사용할 수 있습니다.
    630 PDF 파싱 정말 힘드네요. [새창] 2015-07-08 11:58:10 0 삭제
    https://github.com/coolwanglu/pdf2htmlEX
    개인적으로 PDF를 HTML로 변환하려 하다가 찾은 소스입니다.
    이미 찾아보셨을 것 같지만 혹시나 해서 링크 올립니다.
    629 재귀함수 vs GOTO반복문 [새창] 2015-07-06 20:21:16 0 삭제
    개인적으로 재귀는 goto 만큼이나 사용하지 않습니다.
    윗분 말씀대로 재귀는 함수를 계속 호출하기 때문에 함수 스택 프레임이 호출 수 만큼 생성됩니다.
    조금만 신경쓰면 재귀보다 훨씬 빠르면서 안정적인 코드가 가능합니다.
    628 상속을 구현할지 고민되네요 [새창] 2015-07-05 16:56:45 1 삭제
    1/ 내용을 대강 읽어보니 아무래도 OOP 구현은 뒤로 미루어야 될 것 같습니다.
    지금까지 한 작업과 OOP 구현하는 건 차원이 다른 문제라 다양한 OOP 언어들의 OOP 구현방식을 검토해 보고 어떤 식으로 구현할지 결정해야 겠네요.
    627 상속을 구현할지 고민되네요 [새창] 2015-07-05 12:07:33 0 삭제
    1/ 사실 상속없이도 프로그래밍 하는데 아무런 지장이 없죠.
    안그래도 컴파일 옵션에 상속여부를 집어 넣는 것도 빼버릴까 지금까지도 고민 중이였습니다.
    상속이 들어가 버리면 호출속도가 급격히 하락하고 코드 또한 크게 증가하는데 어셈블리의 최대 장점인 성능과 파일 크기를 희생하면서 까지 상속을 어셈블리에서 써야 하는지에 회의적이라서요.
    저는 쓰지 않고 제 라이브러리를 이용할 사람들중 필요한 사람들 쓰게 하려고 만드는 것인데 일단 이 라이브러리 나중에 저 말고 한명이라도 쓸 사람 생길지 모르는 판에 제가 쓰지 않을 기능 넣는건 재고해야 될 것 같습니다.
    626 상속을 구현할지 고민되네요 [새창] 2015-07-05 00:17:48 0 삭제
    감사합니다. 업무 잘되길 빕니다. ^^
    625 상속을 구현할지 고민되네요 [새창] 2015-07-05 00:11:55 0 삭제
    재미있어서 노는 건데요.
    원래 집에서는 프로그래밍 거의 안했었는데 요즘 재미있어서 밤마다 달리고 있습니다. ㅎㅎ
    624 향후 FASM 라이브러리를 배포할 생각입니다. [새창] 2015-07-04 22:30:19 1 삭제
    만들려는 에뮬레이터는 안만들고 라이브러리를 언어에 가깝게 만드는 작업에 몰두 중입니다.
    마음 내키는대로 무계획적으로 프로그래밍 하다 보니 생각했던 계획대로 되질 않네요.
    앞으로 일정 어떻게 될지는 그냥 생각하지 말고 내키는대로 해야 겠습니다.

    어찌됐던 작더라도 저만의 OS나 컴파일러를 만들고 싶다는 생각이 항상 있었는데 편법으로 언어 비스무리하게 흉내내는 걸로 대리만족하고 있습니다.
    623 향후 FASM 라이브러리를 배포할 생각입니다. [새창] 2015-07-04 20:32:42 2 삭제
    아직 클래스를 구현하지 않았는데 생성자, 소멸자 등이 포함된 기본적인 클래스 형태는 지원할 생각입니다.
    나머지 객체지향 개념들은 성능과 파일 크기를 희생하지 않는 선에서 포함시킬 생각입니다.
    아무래도 클래스를 구현해야 포인터, 메모리 관리를 쉽게할 수 있을 것 같네요.
    622 향후 FASM 라이브러리를 배포할 생각입니다. [새창] 2015-07-04 19:46:36 1 삭제
    방송강의는 좀 힘들 것 같고 매뉴얼과 예제를 통해 쉽게 따라할 수 있게 할 생각입니다.
    621 어셈블리 라이브러리를 확 뜯어고치고 도움말을 제작중입니다. [새창] 2015-07-02 22:37:05 0 삭제
    도움말 제작 프로그램 예전부터 이것저것 써봤는데 이게 그냥 직관적이고 단순해 가장 빠르게 도움말을 만들 수 있더군요.
    HTML, CHM, PDF, 워드 등 지원하는 포맷도 많습니다.
    620 어셈블리 라이브러리를 확 뜯어고치고 도움말을 제작중입니다. [새창] 2015-07-02 21:04:20 0 삭제
    도움말은 일단 제목만 영문으로 해놨는데 내용도 영문으로 제작할까 생각중입니다.
    어짜피 제가 만든 라이브러리 기능들이 다른 언어들에도 있기에 영문 매뉴얼들 참고해서 만드는게 한글로 제작하는 것 보다 빠를 것 같아서요.



    [◀이전10개] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [다음10개▶]

     
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈