범용성과 최적화의 상관관계 ??

김영기   
   조회 3874   추천 0    

 

어떤 시스템(OS)의 개방성, 범용성과 최적화(퍼포먼스) 사이에는 반드시 직접적인 상관관계가 작용하는지 궁금합니다.

이를테면 동일 혹은 비슷한 스펙의 타블렛 제품이 안드로이드, IOS, 윈도우즈 버전으로 각각 나와 있어 서로 비교를 할 때, 대부분의 사용기를 보면 안드로이드나 IOS가 늘 퍼포먼스면에선 "최적화가 잘 되어있다", "빠릿하다"와 같은 표현이 많이 등장해요. 반면 윈도우즈 버전에서 그런 반응은 거의 보지 못했습니다.

반대로 불평글에서는 안드로이드나 IOS에서 "폐쇄적이다", "기본 세팅 앱이나 호환앱 말고 내가 원하는 거 넣고 빼려면 지랄같다"등등의 반응이 자주 보입니다. 반면 윈도우즈 버전에서는 그런 반응이 상대적으로 덜해요.

제품을 불문하고 계속해서 그런 반응들을 관찰하며 세운 가설은 비슷한 조건에서(하드웨어가 다소 다른 경우가 많지만 단순스펙으론 보통 윈도우즈 버전이 우위더라고요) 윈도우즈가 안드로이드나 IOS보다 퍼포먼스가 떨어진다는 결론입니다. 근데 그 원인이 윈도우즈의 개방성?에 있는건가 싶습니다. 범용성이 증가하면 최적화가 어려워지는 관계가 반드시 작용하는게 아닌가 합니다. 윈도우즈 기기가 스펙에 더 민감한 이유도 그와 관련이 있다는게 제 어설픈 추측입니다.

다만 윈도우즈가 위 가설처럼 개방성이나 범용성이 큰 쪽에 해당하는 시스템인지가 불분명하고, 그 전에 이 문제는 범용성과 최적화 맥락과 전혀 상관이 없는 것인지 또 불분명하여 여쭤봅니다.

관계가 없을 수도 있지만 문득, CISC와 RISC방식의 프로세서도 이것과 연관이 있는 주제가 아닐까 번쩍 생각이 듭니다.

짧은글 일수록 신중하게.
박문형 2017-05
밀접한 관계가 있습니다..

전체 총괄하는 엔지니어가 얼마나 많은 경험과 노가다 기술이 있느냐 에 따라 많이 달라집니다..

요즘 PC와 서버는 옛날 OS들을 다 커버 하지 못하고 지원하는 영역이 어느 정도 정해져 있으며 가끔씩 버그가 나타납니다..

그런 버그를 얼마나 잘 잡느냐 잘 콘트롤하냐가 굉장히 중요합니다..

시간과 돈 그리고 노가다가 필요한 일이라 쉬운건 아닙니다..
비전문가지만 개인적으로 느낀 생각을 바탕으로 댓글을 작성하겠습니다.

개방성과 범용성은 하드웨어 퍼포먼스와 소프트웨어 하위 호환성이 충족될때 이룩할 수 있는 목표입니다.
안드로이드와 IOS는 OS 및 소프트웨어의 업데이트 주기가 매우 빠르고 주 시장이 모바일이기 때문에 하드웨어 퍼포먼스가 제한적입니다.
따라서 사용자의 요구사항에 따라 사용환경이 급격히 변화하고 하드웨어 퍼포먼스 또한 모바일 기기를 사용할 정도의 제한적인 성능이기 때문에
서버와 데스크탑을 주 시장으로 하는 윈도우에 비해 개방성과 범용성이 떨어집니다.

CISC와 RISC 방식의 차이 또한 OS의 환경에 그대로 투영된다고 생각하셔도 될거 같습니다.
2000년대 초반에 작성된 간단한 프로그램이 아직도 Windows 10 에서 작동되는 것을 보면 알 수 있는 대목이겠습니다.
소프트웨어 자체의 개방성을 놓고 보면 안드로이드가 사용자에게 가장 개방적인 커뮤니티를 가지고있고
IOS와 윈도우는 개발자에게 매우 관용적인 커뮤니티를 가지고 있기 때문에 개발환경의 개방성 자체를 놓고 보면 큰 차이가 없다고 생각할 수 있습니다.
범용성이 증가하면 퍼포먼스는 감소한다고 볼 수 있습니다.

변의 길이가 같은 환경에서
변의 수만 다르다고 가정했을때

윈도우는 100개의 변을 가진 백각형이고
IOS와 안드로이드는 10개의 변을 가진 십각형이라고 가정해보면 좋겠습니다.

모든 OS가 동일한 하드웨어(또는 사용하는 어플리케이션에 비례하는 하드웨어)를 가진다고 생각할때,
소프트웨어 자체가 가진 가용범위는 윈도우가 압도적으로 넓지만 가용범위에 비해 하드웨어는 제한적이기에 특정 어플리케이션에 부하를 높게 줄 경우 다른 가용범위에 할당할 수 있는 자원은 점점 줄거나 거의 없어질 것입니다.

단순 비교뿐만 아니라
각변을 어플리케이션이나 기타 구현으로 생각할 경우 그 자체가 가진 호환성과 최적화에 따라 성능 또한 천차만별이 될 가능성이 매우 큽니다.
잔다르크 2017-05
어떤식으로 개발되었는가에 따라 다르지만 대체적으로 범용성과 퍼포먼스는 반비례 관계라고 보는게 좋을 것 같습니다.
소프트웨어 공학에서 범용성과 최적화는 반비례 관계입니다.
무아 2017-05
ios 게임과 안드로이드 게임. 둘을 비교해보면
같은 컨텐츠라고 해도 ios 게임이 상당히 부드러운 편인데 출시는 안드로이드 쪽이 먼저 나오더군요.
범용성 = 유저수 증가 vs 최적화 = 퍼포먼스  계속되는 딜레마인듯합니다.


QnA
제목Page 5311/5724
2015-12   1765081   백메가
2014-05   5239641   정은준1
2011-03   29258   양재혁
2011-03   8461   스카이
2015-03   13555   김건우
2016-05   4141   지한결J
2011-04   7060   소주한병
2019-09   2453   헬로우
2020-12   5731   캔위드
2024-02   1674   민경열
2013-11   10391  
2015-03   4039   푸른하늘아래
2011-04   8052   2CPU최주희
2013-11   9328   무아
2016-05   8501   배고프시죠
2011-05   6125   둥이엄마
2015-03   4784   여리
2019-09   3663   제온프로
2016-05   5723   순사랑
2018-07   3699   adam2430
2013-11   5378   송현우
2024-02   1582   빛나래