ä»®æ³ãã·ã³å ã§ãããã¡ã€ã©ãŒãå®è¡ããå¿ èŠãããã®ã¯èª°ã§ããïŒ
ããã¯ããã®èšäºãèªããšãã«æåã«çãã質åã§ãã ãã¡ãããã·ã³ãã«ãªããã€ã¹ã®å©ããåããŠãçœãã³ïŒãŸãã¯é»ãã³ïŒããããªãŒãã¹ã«å€ããããšãã§ããŸãããå®éã«ã¯ãä»®æ³ãã·ã³å ã§ãããã¡ã€ãªã³ã°ãå®è¡ããå¿ èŠãããã®ã¯èª°ã§ããïŒ Macã®å¹žããªææè ãæãåºãæãæ¥ãŸããã圌ãã¯WindowsãŸãã¯Linuxã§ã®éçºã«å€ãã®ãµãŒãã¹ãè² ã£ãŠããŸãã ãã¡ããããã®å ŽåãMac OSã¯éçºè ã®åŠšãã«ã¯ãªããŸãããVMWareFusionã¯ãã·ã³äžã«ãããVisual Studioã¯Windowsãåããä»®æ³ãã·ã³å ã«ãããããååãšããŠéçºãé²è¡äžã§ãããåââé¡ã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ãããã¡ã€ãªã³ã°ã®åé¡ãçºçãããŸã§æ£ç¢ºã«ã Intel VTune Amplifierãããã¡ã€ã©ïŒããšãã°ããã®1ã€ïŒã«ãã£ãŠåéãããããŒã¿ã«åºã¥ããæé©åã«é¢ããIntelã®äžé£ã®èšäºã«ç²ŸéããŠãããšæããŸããããã§ãªãå Žåã¯ãä»ããã®æã§ãã ãããã£ãŠãä»®æ³ãã·ã³å ã«ã€ã³ã¹ããŒã«ãããVTune'omã§æŠè£ ãããããã¡ã€ãªã³ã°ã«é²ã¿ãŸãã
ä»®æ³ãã·ã³ã§ã®ãããã¡ã€ãªã³ã°
ãã®ãããVTune Amplifierã¯ä»®æ³ãã·ã³ã«ã€ã³ã¹ããŒã«ãããŠãããã¡ã¢ãªãæäœããæé©æ§ã«ã€ããŠã³ã³ããŒãã³ããåæããããšã決å®ãããŸããã åæãéå§ãããåºæ¥äžããïŒ

çµæãªãã ãã®çç±ã¯ããããã¡ã€ã©ãŒããã®äœæ¥ã«ãããŠãããã©ãŒãã³ã¹ã¢ãã¿ãªã³ã°ãŠããããšãåŒã°ããããŒããŠã§ã¢ããã©ãŒãã³ã¹ã«ãŠã³ã¿ãŒã®ã»ããã«äŸåããŠããããã§ãã åã«ãŠã³ã¿ã¯ãçºçãããã³ã«1ã€ãã€å¢å ããããã»ããµã€ãã³ãïŒããã»ããµãã£ãã¯ããã£ãã·ã¥ãã¹ãªã©ïŒã«å¯ŸããŠæ§æã§ããŸãã ãœãããŠã§ã¢ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ãšæ¯èŒããŠãã«ãŠã³ã¿ã䜿çšããŠããã©ãŒãã³ã¹ã€ã³ãžã±ãŒã¿ãåéããç¬èªã®æ©èœã¯ãæ å ±ã®å®å šæ§ã§ãã å€ãã®å Žåãå®è¡å¯èœã³ãŒãã ãã§ãªããããšãã°é »ç¹ãªãã£ãã·ã¥ãã¹ãåŒãèµ·ããã³ãŒãããããŸãã ã«ãŠã³ã¿ã®å€ã¯ç¶ç¶çãªããŒãªã³ã°ã«ãã£ãŠèªèã§ããŸãããŸãã¯ãã«ãŠã³ã¿ãç¹å®ã®ãããå€ãè¶ ãããšãã«å²ã蟌ã¿ã®çæãæ§æã§ããŸãã åŸè ã¯ãããã¡ã€ã©ãŒã®éã§ããäžè¬çã§ãããåçŽåãããäœæ¥ã¹ããŒã ã¯æ¬¡ã®ããã«ãªããŸãïŒå³ã§ã¯ãã·ã³ã°ã«ã³ã¢ããã»ããµäžã§åäœãããããã¡ã€ã©ãŒãå®è¡ãããæåã®ç¬éïŒã

ã«ãŠã³ã¿ãŒãªãŒããŒãããŒã§å²ã蟌ã¿ãåä¿¡ãããšãã«ãŠã³ã¿ãŒãã€ã³ã¹ããŒã«ãããŠãã0xFFã€ãã³ããçºçããããšãããããŸãã ãã®åŸãäžæãçºçãããããã¡ã€ã«ãããã¢ããªã±ãŒã·ã§ã³ã®åœä»€ãã€ã³ã¿ãŒãæãäžãããã®IPèªäœãæãåœä»€ã0xFFã€ãã³ããåŒãèµ·ããããšèããŠããŸãã ãã®ãããçµ±èšãåéããŸãã
æµ®æ°ïŒ ã€ãã³ãããã®åäžã®åœä»€ã ãã§ãªãã2ã€ã®å²ã蟌ã¿ã®éã«å®è¡ãããŠãããããã¯å šäœã«ãã£ãŠåŒãèµ·ãããããšããäºå®ã¯ã泚ææ·±ãèªè ã®èŠç·ããéããŸããã§ããã ããã§ãããããã¡ã€ãªã³ã°ã®çµæã¯2ã€ã®äž»ãªçç±ã§é¢é£æ§ã倱ãããšã¯ãããŸããïŒ2ã€ã®äžæã®éã®ã€ãã³ãã®æ°ã¯ååãªçµ±èšãååŸããããã«ååã«å°ããéžæãããçµæã¯åžžã«ãµã³ãã«ãå¢ããããšã§æ¹åã§ããŸãïŒããé·ããããã¡ã€ã«-ããæ£ç¢ºã«ã¯ãçµæïŒã ããã«ãæ£ç¢ºãªã€ãã³ãããŒã¹ã®ãµã³ããªã³ã°ãã¯ãããžããããããã«ãããããã€ãã®ã€ãã³ãã«é¢ããæ£ç¢ºãªçµ±èšãåéã§ããŸãã
ä»®æ³ãã·ã³å ã®ã«ãŠã³ã¿ãŒã«ã¢ã¯ã»ã¹ããããšã¯ã§ããŸãããæããã«ãããããžã®ã¢ã¯ã»ã¹ã¯ãšãã¥ã¬ãŒãããå¿ èŠããããŸãïŒçŽæ¥ã¢ã¯ã»ã¹ããå Žåãã²ã¹ããšãã¹ãã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯äºãã®ããŒã¿ãç²ç ãããããã¡ã€ãªã³ã°ã¯æ©èœããŸããïŒã äžèšã®ãšã©ãŒãåãåã£ãã®ã§ãPMUã¯VMWare Fusionã§ä»®æ³åãããŠããŸããã èšäºãçµäºããããšã¯å¯èœã§ããã...
VMWare Fusion 5ã®ä»®æ³åPMU
... VMWareFusion 5ã®å¹žããªææè ã§ããã°ãCPUèšå®ã§[CPUããã©ãŒãã³ã¹ã«ãŠã³ã¿ãŒã®ä»®æ³å]ããã¯ã¹ããªã³ã«ã§ããŸãããã®åŸããããã¡ã€ã©ãŒã¯ãšãã¥ã¬ãŒããããããã©ãŒãã³ã¹ã«ãŠã³ã¿ãŒã«äŸåããŠä»®æ³ãã·ã³å ã§åäœã§ããŸãã
VMå ã®ãããã¡ã€ã©ãŒã䜿çšããŠåæãããã³ã³ããŒãã³ããæ€èšããŸãã ããã¯ã次ãè¡šããŸããtSharedDataã¿ã€ãã®ããŒã¿æ§é ã2ã€ã®ã¹ããªãŒã ãå ±åã§ããã€ãã®æäœãå®è¡ããŸãã 2ã€ã®ã»ããã©ãåæã«äœ¿çšãããã¹ã¬ããã¯å ±æããŒã¿ã«é çªã«æžã蟌ã¿ãŸãã åæã«ã3çªç®ã®ã¹ã¬ãããæ©èœããã¿ã€ã ã¹ã¿ã³ãã«ãŠã³ã¿ãŒå€ãèªã¿åããäžèšã®æ§é ã«æž¡ããŸãã
2ã€ã®ã¯ãŒã«ãŒã¹ã¬ããã®ã³ãŒãïŒnThreadNumã¯ã¹ã¬ããçªå·ãå®çŸ©ããŸãïŒïŒ
DWORD WINAPI Thread(LPVOID lpParameter) { tThreadParam* pParams = (tThreadParam*)lpParameter; tSharedData* pData = pParams->pSharedData; while( pData->nIsWorking ) { if( pParams->nThreadNum == 1 ) { // First Thread pData->nLastThread = nCurrent; ReleaseSemaphore( pData->hSecondThreadSemaphore,1,NULL ); WaitForSingleObject( pData->hFirstThreadSemaphore, INFINITE ); }else{ //Second thread WaitForSingleObject( pData->hSecondThreadSemaphore, INFINITE ); pData->nLastThread = nCurrent; ReleaseSemaphore( pData->hFirstThreadSemaphore,1,NULL ); } } return 0; }
ãµãŒãã¹ããªãŒã ã³ãŒãïŒ
DWORD WINAPI TimeThread(LPVOID lpParameter) { tSharedData* pData = (tSharedData*)lpParameter; while( pData->nIsWorkingCacheAligned ) // , { // pData->nCurrentTime = __rdtsc(); } return 0; }
äžè¬çã«ã¯ããªãåæçãªäŸã§ãããä»®æ³åç°å¢ã§ã®ãããã¡ã€ãªã³ã°äžã«çºçãã圱é¿ãæ確ã«èŠãããšãã§ããŸãã 20ç§éåæãããšã次ã®çµæãåŸãããŸãã

ãã®è¡šã®2çªç®ã®åã¯ãæåã®åããé¢æ°ã®å®è¡ã«è²»ããããããã»ããµãã£ãã¯ã®æ°ã§ãã ãã ãã次ã®2ã€ã®åã«é¢å¿ããããŸãïŒMEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITïŒMïŒ-LLCïŒMïŒã§ïŒHITïŒã«å€æŽãããïŒä»¥éããã£ãã·ã¥ãã¹ã¯ãã¹ãšåŒã°ããïŒããŒãïŒLOADïŒããŒã¿ïŒMEMïŒã®å®è¡ïŒRETIREDïŒæäœïŒOUPSïŒã®æ°æåã®2ã¬ãã«ã®ãã£ãã·ã¥ïŒã ãããŠã次ã®çµæã衚瀺ãããŸããäž¡æ¹ã®ã¹ã¬ããããã»ãŒåãã¬ãã«ã§ãæåŸã®ã¬ãã«ã®ç°ãªãã³ã¢ã®ãã£ãã·ã¥ãåæããããã»ã¹ãå æ°ã«ããªã¬ãŒããããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ãããŸãã ååãšããŠãçµæã¯äºæ³ãããŸãã3ã€ã®ã¹ã¬ãããã¹ãŠãåžžã«å ±æã¡ã¢ãªã«ã¢ã¯ã»ã¹ãããããããŒã¿ãæ£ããã¢ã©ã€ã¡ã³ããããŠããªããã°ããã£ãã·ã¥ã®åæã¯é¿ããããŸããã æ·±åŒåžãããŠãæé©åãç¶è¡ããã ãã§ãã ããã§ããä»®æ³åç°å¢ã§ãããã¡ã€ãªã³ã°ãå®è¡ããŸããããVMware Workstationãå®è¡ãããŠããå®éã®ãã·ã³äžã§ãã®ã³ãŒããæ¢ã«èª¿ã¹ãŠãçµæãéåžžã«ç¢ºèªã§ããŸãã ãããŠçµæ...

...åçã«ç°ãªããŸãã ã芧ã®ããã«ãTSCå€ãèªã¿åãã¹ããªãŒã ã¯ãæåã®2ã€ã®ã¹ããªãŒã ãšæ¯èŒããŠãLLCããŒã¿ã®ããŠã³ããŒãæ°ïŒä¿®æ£ããããã®ãšä¿®æ£ãããŠããªããã®ã®äž¡æ¹ïŒãåŒãèµ·ãããŸããã ãã®ãããä»®æ³ãã·ã³å ã§ãçŽããããããŒã¿ã枬å®ããŸããã è«ççãªçåãçããŸãïŒ
PMUä»®æ³åã®äœãåé¡ã«ãªã£ãŠããŸããïŒ
èžã«ããå°ã空æ°ãå ¥ããŠãã ããïŒãã®è³ªåã«çããã«ã¯ãä»®æ³ãã·ã³ãç¹ã«Intel Virtualization TechnologyãŸãã¯VT-xãäŸãšããŠäœ¿çšããããŒããŠã§ã¢æ¯æŽä»®æ³åã䜿çšããä»®æ³ãã·ã³ã®æäœã®è©³çŽ°ã«å°ãçªå ¥ããå¿ èŠããããŸãã ãã®æè¡ã¯ãå¥ã®ããã»ããµã¢ãŒã-éã«ãŒãã¢ãŒããè¿œå ããŸãã ãã®ã¢ãŒãã§äœæ¥ããå ŽåãããŒããŠã§ã¢/ã·ã¹ãã ãªãœãŒã¹ïŒããŒãžå€æãå²ã蟌ã¿ããŒãã«ãªã©ïŒã«ã¢ã¯ã»ã¹ãããšããŒããªã³ã°ã§ãéåžžãã®ã«ãŒãã¢ãŒãã§å®è¡ãããç¹å¥ã«ã€ã³ã¹ããŒã«ããããã³ãã©ãŒã«åãæ¿ãããŸãã ãã®ãã³ãã©ãŒãå«ãä»®æ³ãã·ã³ã³ã³ããŒãã³ãã¯ãéåžžãä»®æ³ãã·ã³ã¢ãã¿ãŒãšåŒã°ããŸãã ã³ãã¯ãVT-xãã¯ãããžãŒã䜿çšãããšãã²ã¹ãã·ã¹ãã ã«ãªãœãŒã¹ãžã®çŽæ¥ã¢ã¯ã»ã¹ãèš±å¯ãããããã®ã¢ã¯ã»ã¹ããšãã¥ã¬ãŒãããããæ§æã§ããããšã§ãã ããšãã°ãã²ã¹ãã«å®éã®ã¿ã€ã ã¹ã¿ã³ãã«ãŠã³ã¿ãŒãèªã¿åãããŸãããããŒãžå€æã®ããŒãã«ãæãäžããŠãèªåã®åœ±ïŒã·ã£ããŠïŒãååŸãããªãããã«ããŸãã

ãããã£ãŠãPMUä»®æ³åã¯åºæ¬çã«ãïŒãã€ãã£ãïŒãã¹ãïŒOSã®ã³ã³ããã¹ããæ éã«ä¿åããããšã«ããïŒãšãã¥ã¬ãŒãããããã²ã¹ãã«å®å šã«äœ¿çšããããã«æäŸããå°è±¡çãªæ°ã®ã«ãŠã³ã¿ãŒã®ä»®æ³åã§ãã æåã®ã³ãŒããå€ãã®åãã¿ã€ãã®ã³ãŒãã§ããããã©ã€ããŒãã«ãŒã/éã«ãŒãã¹ã€ããã®éå¹çæ§ïŒã«ãŠã³ã¿ãŒãžã®åŒã³åºãããšã«VMã¢ãã¿ãŒãä»å ¥ããïŒãæãåãããããšãèæ ®ãããšãä»®æ³ãã·ã³éçºè ã®éžæã¯æããã§ã-ã²ã¹ããã«ãŠã³ã¿ãŒãèªç±ã«ææã§ããããã«ããŸãã ãã®ããã圌ãã¯æåã«KVMã§ãããè¡ããŸããããã²ã¹ãTCPã¹ã¿ãã¯ã®ãããã¡ã€ãªã³ã°ã§ã¯ãæ©åšãæäœããæéãäºæ³å€ã«è²§åŒ±ã§ããã äœæ¥ã¯ã¢ãã¿ãŒã§è¡ããããããã¡ã€ã«ãããã²ã¹ãã®å€ã§ãããŒããŠã§ã¢ã«ã¢ã¯ã»ã¹ã§ããŸããã§ããã ãããŠã圌ãã®é ã«æããã¢ã€ãã¢ãæµ®ãã³ãŸããïŒã¢ãã¿ãŒã§çºçããã€ãã³ããèæ ®ã«å ¥ãããšã©ããªããŸããïŒ ããã«èšã£ãŠãã£ãã çŸåšãæ©åšã®éçšã¯ãŸããŸãéããªã£ãŠããŸãã
ãããïŒ
åæã«ãéã¿ä»ãã¯ãæ©åšããã®ãªãŒããŒããããèæ ®ããã«ãä»®æ³åããã®è¿œå ã®è² è·ãèæ ®ããããšã«ãã£ãŠåŒãèµ·ããããŸããããã¯äžè¬ã«ãæ©åšããã®è² è·ãšã¯ããŸãçžé¢ããŸããã ãã®ããããããã¡ã€ãªã³ã°ã®çµæãã劥åœãã«èŠããå ŽåããããŸãããçŸå®ããããã«é¢ããŠããããšãå€æããŸããã éçºè ã®èãã®åãã«ã€ããŠã¯ãã¡ããã芧ãã ãã ã
VMWare Fusion 5ã®éçºè ã¯ãPMUä»®æ³åã«é¢ããåæ§ã®è³ªåã«èŠãã¿ãä»®æ³åã®æŠå¿µããããã«å€æŽããŸããïŒãã¹ãŠã®ã€ãã³ãã¯ãæšæž¬çã§ãªãããã®ïŒå®è¡ãããåœä»€ã®æ°ããã©ã³ãã®æ°ãããã³ã決å®çããªæ§è³ªãæã€ãã®ä»ã®ã¡ããªãã¯ãªã©ïŒã«åå²ãããŸããïŒæ¡ä»¶ä»ãé·ç§»-ãããã®å€ããååšããŸãïŒãããã³ãææ©çãé·ç§»ïŒãã£ãã·ã¥ãã¹ã誀ã£ãŠäºæž¬ãããåå²ãªã©ïŒã ãã®å Žåããææ©çãã€ãã³ãã¯ãã€ããŒãã€ã¶ãŒã®è² è·ãèæ ®ããŠèšç®ããããéææ©çãã€ãã³ãã¯èšç®ããã«èšç®ãããŸããïŒ ããã§æŠå¿µã®ããå®å šãªèª¬æïŒã ãã®ãããªããžãã¯ãç解ããããšã¯é£ãããããŸããïŒæ©èœã³ãŒãã«20ã®åœä»€ãããªãå Žåã枬å®å€ã220ã瀺ãå ŽåïŒä»®æ³ãã·ã³ã¢ãã¿ãŒã®äœæ¥ãèæ ®ãããŠãããšããäºå®ã«ããïŒãæšæž¬ããããšã¯é£ãããªãããããã®ãããªçµæã¯æ··ä¹±ããå¯èœæ§ããããŸãã ããããåæã«ããææ©çãªãã¡ããªãã¯ã枬å®ããªãããäžèšã§èŠãããã«ãæé©åäžã«é Œãã¹ãã§ã¯ãªã枬å®çµæã«å¯Ÿå¿ã§ããŸãã
ããã§ãçµæã®éããã©ãããçããã®ããšãã質åã«çããããšãã§ããŸãã æéãæžç®ããé¢æ°ã¯ããšãã¥ã¬ãŒããããRDTSCåœä»€ãåŒã³åºããŸãããããã¯å°é£ãªäœæ¥ããžãã¯ãåããŠããŸãïŒä»®æ³ãã·ã³ã§ã®æé管çã¯ãäžè¬çã«ãã€ããŒãã€ã¶ãŒéçºè ã«ãšã£ãŠéåžžã«å°é£ãªèª²é¡ã§ãïŒã ãããã£ãŠã倧éã®ãã£ãã·ã¥ãã¹ïŒRDTSCåŒã³åºãã§äºæ³ãããå€ãã®äœæ¥ãè¡ãããŠããŸãã
Parallels Desktop 9
ãã¡ãããParallels Desktop 9ä»®æ³ãã·ã³ãã²ã¹ãã·ã¹ãã ããPMUã«ã¢ã¯ã»ã¹ããæ©èœãè¿œå ããå Žåããã€ããŒãã€ã¶ãŒã®äžçãžã®æ²¡å ¥ã¯äžå®å šã«ãªããŸãããä»®æ³åãžã®ã¢ãããŒãã¯å°ãç°ãªããŸããã€ãã³ãã¯ã²ã¹ãã·ã¹ãã ã®ã³ã³ããã¹ã-枬å®çµæã«å¯Ÿããã¢ãã¿ãŒã®åœ±é¿ã¯ãã¹ãŠæå°éã«æããããŸãã ãã®ä»®æ³ãã·ã³å ã§ãããã¡ã€ãªã³ã°ãè©Šããçµæãæ¯èŒããŠã¿ãŸãããã

ã芧ã®ãšãããçµæã¯VMWareFusionãããå®éã®æ©åšã®çµæãšããçžé¢ããŠããŸãã ïŒæéãæžç®ããã¹ã¬ããã«ããããã£ãã·ã¥ãã¹ããããã«çºçããŸãïŒã åã¹ããªãŒã ã§çºçããã€ãã³ãã®æ°ã®éã®é¢ä¿ã®æ§è³ªã¯ç¶æãããŸãã ä»®æ³ãã·ã³ã®TimeThreadã§ãã£ããããããŒãã®ãã£ãã·ã¥ãã¹ãæ··åããå¯èœæ§ããããŸãããããã¯ãã£ãã·ã¥ãã¹ã2000ã®ãªãŒããŒã§çºçããããšãæå³ããã ãã§ã-ããã¯ãã£ãã·ã¥ãã¹ã«ãŠã³ã¿ãŒãããªã¬ãŒããããã®ãããå€ã§ãã ããããå šäœçã«ãç¹åŸŽçãªå¹æã芳å¯ããå°æ¥ãèŠã€ãã£ãå€ã«åºã¥ããŠæé©åãå®è¡ã§ããŸãã
ããã§ããéèŠãªçåãæ®ããŸããããã§ãä»®æ³åãããæäœã«é¢é£ããè² è·ã®äžéšãçµ±èšããå€ããŠãããšããäºå®ã¯ã©ãã§ããããïŒ ãã¡ãããããã¯äžå¿«ãªå¹æã§ããã次ã®ããšã¯æ³šç®ã«å€ããŸãã99ïŒ ã®æéãã¢ãã¿ãŒã®ä»å ¥ãªãã«ä»®æ³ãã·ã³ãåäœããŸããã€ãŸããäžéšã®çµ±èšæ å ±ã®æ倱ã¯ã»ãšãã©ç®ã«èŠããŸããã ããããäž»ãªããšã¯ããã®ã¢ãããŒãã¯Fuisonã®å Žåãããäºæž¬ããããããšã§ãïŒã³ãŒãã«å€ãã®å¹æãèŠã€ãã£ãå ŽåãåçŸã§ããªãå¹æãæ€åºã§ããVMWareä»®æ³ãã·ã³ãšã¯å¯Ÿç §çã«ããããã¯å®éã®ããŒããŠã§ã¢ã«è¡šç€ºãããŸãå®æ©ã§ã
ãŸãšã
ãããŸã§èšäºãèªãã 人ã¯èª°ã§ãçã«åŒ·ã粟ç¥ãæã£ãŠããŸãã è°è«ã®å€ã«ããã®ã¯ãä»®æ³ç°å¢ã§ãããã¡ã€ãªã³ã°ãè©Šã¿ããšãã«çããä»ã®å€ãã®å¹æã§ããããã®èšäºã®ç®çã¯ãç°ãªãç°å¢ã§ã®ãããã¡ã€ãªã³ã°ã®éèŠãªéãã説æããããšã§ãããããã©ãŒãã³ã¹æž¬å®ã®çµæã解éããéã«ã©ã®åé¡ãåé¿ã§ããããç¥ãããšã§ãã èŠçŽãããšïŒ
-ç©Žããæœè±¡åã®æ³åã¯äŸç¶ãšããŠé¢é£ããŠãããä»®æ³ç°å¢ã§äœæ¥ããå Žåã¯äºéã«æ³šç®ãã䟡å€ããããŸãã
-ä»®æ³åç°å¢ã§ã®ãããã¡ã€ãªã³ã°ãããã©ãŒãã³ã¹ãåæããå¯äžã®ã¢ãããŒãã§ããå Žåã泚æãå¿ èŠã§ã-æéãšæ©åšã®æäœã«ãããããŒããŠã§ã¢å¹æã®å¹æã枬å®ããéã«çµæã«é倧ãªã¢ãŒãã£ãã¡ã¯ããçããå¯èœæ§ããããŸãã
-äžè¬ã«ãä»®æ³ãã·ã³ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãæé©åã§ããææšã«åºã¥ããŠææšãåéã§ããŸãã
ãæž èŽããããšãããããŸããïŒ