ÆÄÀ̽ã ÄÚ·çƾ Áú¹®(ÀÌ»óÇÑ ¼Óµµ Áõ°¡)

   Á¶È¸ 1218   Ãßõ 0    

쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 

우문을 하게 되었습니다.

파이썬(3.10.13)에서

async def a():

    async def b():

        .....

    async def c():

        .....

    async def d():

        .....

   await b()

    await c()

   await d()


함수 내부의 코드가 길어 전체 코드를 삽입하지 못 한점은 이해부탁드립니다.

위의 코드에서 개별로 b, c, d를 실행할 때 각 1~3초 내외로 함수 실행이 끝나는데 연속으로 계산을 하면 마지막 함수의 실행 시간이 75초 정도로 늘어나는 문제가 발생합니다. 두 개씩 묶어 테스트를 하니, b, c는 0.3초, c, d는 3초, b, d는 75초가 걸립니다.

d함수가 의심이 되지만 d 함수의 단일 실행에서도 3초가 걸립니다. await이 있어 순차 실행으로 특별히 문제가 없을 듯한데 상식적으로 이해가 되지 않아 경험이 있으신분께 조언을 구합니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
Noman 01-28
º¯¼ö Áß¿¡ ÀÚ±â ÂüÁ¶µÇ°Å³ª »óÈ£ ÂüÁ¶ µÇ´Â ºÎºÐÀÌ ÀÖ´Â °Í °°Àºµ¥¿ä.
¼ø¼­¸¦ d,b / d,c / c,b  Çؼ­ Å×½ºÆ® Çغ¸¼¼¿ä.
     
ÀÌâÁØ 01-29
°¨»çÇÕ´Ï´Ù. ¼ø¼­¸¦ ¹Ù²Ù¾î º¸´Ï ½Ã°£ÀÌ ´Ã¾î°¡´Â ¹®Á¦´Â ¹ß»ýÇÏÁö ¾Ê´Âµ¥, ±Ùº»ÀûÀÎ ¹®Á¦¸¦ ÇØ°áÇϴµ¥´Â ½Ã°£ÀÌ Á» °É¸®°Ú³×¿ä.
±ÞÇÑ ºÒÀº ²¯½À´Ï´Ù.
epowergate 01-29
ÄÚ·çƾÀ» »ç¿ëÇϴµ¥ ¸¶¹«¸®¸¦ º£¸®¾î·Î 󸮸¦ Çϳ׿©
ÇÁ·Î±×·¥ ·ÎÁ÷ °í¹ÎÇϱ⠱ÍÂù¾Æ¼­ ÀÌ·±½ÄÀ¸·Î ¸¹ÀÌ µé Çϴµ¥
À߸øÇÏ¸é ·¹À̽º µ¹¾Æ¼­ ¹«ÇÑÀ¸·Î ºüÁö±â ½±½À´Ï´Ù
     
ÀÌâÁØ 01-29
ÄÚ·çƾÀ» °´Ã¼·Î ¸¸µé¾î È£ÃâÇ϶ó´Â ¸»¾¸À̽ÅÁö¿ä? °æÇèÀÌ ºÎÁ·ÇÏ¿© ´Ù¾çÇÑ °æ¿ì¿¡ ´ëÇÑ ¹®Á¦Á¡À» ÀÎÁöÇÏÁö ¸øÇÏ°í ÀÖ½À´Ï´Ù. Á¶±Ý ´õ ±íÀÌ Á¶¾ðÇØ ÁÖ½Ç ¼ö ÀÖÀ¸½ÅÁö¿ä?
          
epowergate 01-29
¿ì¼± 1) ÄÚ·çƾÀÌ ¹ºÁö ¿ì¼± °øºÎ¸¦ Á» ÇϽðí, 2) Àû¿ëÇϴµ¥ ÀûÇÕ ÇÑÁö¸¦ ÆÇ´ÜÇÏ°í, 3) ¾î¶±°Ô Àû¿ëÇÒ Áö¸¦ °áÁ¤ÇØ¾ß °ÚÁÒ.
ÄÚ·çƾÀÌ ¾²·¹µåÇÏ°í ¾î¶»°Ô ´Ù¸¥Áö, ¾î¶³ ¶§ ÄÚ·çƾÀÌ ´õ ÀûÇÕÇÑÁö,....

°´Ã¼·Î ÇÏ´ø,ÀζóÀÎÀ¸·Î ÇÏ´ø ±¸Çö ¹æ¹ýÀº ÇÑÂü ³ªÁß¿¡ °áÁ¤ ÇÒ ¹®Á¦À̱¸¿ä

½ÇÁ¦ ÄÚµå´Â Àß ¸ð¸£°ÚÁö¸¸, Áö±Ý ±¸¼º¸¸ ºÁ¼±
ÃʵîÇб³¿¡¼­ ¼±»ý´ÔÀÌ, ³ÊÈñµé ¾Ë¾Æ¼­ ¶Ù¾î!!!  ±×·±µ¥ µé¾î ¿Ã¶§´Â ÁÙ¼­¼­ µé¾î¿Í¾ß ÇØ~~~  ÀÌ·¯¸é ¹º°¡ ÀÌ»óÇÏÁÒ
               
ÀÌâÁØ 01-29
Á¶¾ð °¨»çµå¸³´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­´Â ÀζóÀÎÀÌÁö¸¸, ½ÇÁ¦´Â create_task, gather·Î ó¸®ÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¸, task¿Í ÀζóÀÎÀ̳ª Å©°Ô ¹®Á¦°¡ ´Ù¸£Áö ¾Ê¾Æ ¼³¸íÇϱ⠽±µµ·Ï ÀζóÀÎÀ¸·Î Äڵ带 Á¦½ÃÇÏ¿´½À´Ï´Ù. °¢°¢ÀÇ ÄÚ·çƾ ³»ºÎ¿¡´Â IO ¹Ù¿îµå°¡ ¾ø¾î ÄÚ·çƾÀ̳ª ¾²·¹µùÀ̳ª Å©°Ô Â÷ÀÌ°¡ ¾ø¾ú½À´Ï´Ù. ¸ÖƼÇÁ·Î¼¼½Ì, ÄÚ·çƾ, ¾²·¹µù ¸ðµÎ Å×½ºÆ®¸¦ Çغ¸¾ÒÁö¸¸, »ó´ëÀûÀ¸·Î ¿À¹öÇìµå°¡ ÀûÀº ÄÚ·çƾÀÌ °¡Àå ÀûÇÕÇÏ¿© ÄÚ·çƾÀ» Àû¿ëÇÏ¿´½À´Ï´Ù. ¸ÖƼÇÁ·Î¼¼½ÌÀÌ ÀÌ·Ð»ó °¡Àå ÀûÇÕÇÏÁö¸¸, ¿À¹öÇìµå¿Í °è»ê·®À» ºñ±³ÇßÀ» ¶§, Å©°Ô À̵æÀÌ ¾ø¾î ÄÚ·çƾÀ» »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.
ÆÄÀ̽㠰æÇèÀº ¸¹Áö ¾ÊÀºµ¥..
ÀÌÀ¯ ¾øÀÌ ½Ã°£ÀÌ Áö¿¬µÇ´Â ±¸°£ÀÌ ÀÖ´Ù¸é º¯¼ö°¡ ²¿ÀÎ °æ¿ì°¡ ÀÖ¾ú½À´Ï´Ù. Áö¿ª º¯¼ö, Àü¿ª º¯¼ö À̸§À» È®ÀÎÇØ º¸¼¼¿ä.


óÀ½À¸·Î (239,027)
Á¦¸ñ
2CPU : QnA 01-29   1216   Çã¹Ö¹öµå
Àç¾÷ (1)
2CPU : ÆǸŠ01-29   95   OHOHOh
. (1)
2CPU : ÆǸŠ01-29   184   ½º¸¶Æ®¸Ç
2CPU : ÆǸŠ01-29   206   ±¤ÁÖµ¿Å°È£Å×
2CPU : ÆǸŠ01-29   120   ÇÁ·£µå
2CPU : ÆǸŠ01-29   262   ¿µ¹Î¾Æºü1
2CPU : ÆǸŠ01-29   517   À¯Á¤È£»þÄÜ´À
2CPU : ÆǸŠ01-29   81   ºñ°¡³»¸®´Â
2CPU : ÆǸŠ01-29   92   ºñ°¡³»¸®´Â
... (1)
2CPU : ÆǸŠ01-29   52   ¸ÞÀÌÀú¸®±×
... (1)
2CPU : ÆǸŠ01-29   74   ¸ÞÀÌÀú¸®±×
... (1)
2CPU : ÆǸŠ01-29   28   ¸ÞÀÌÀú¸®±×
Àç¾÷ (1)
2CPU : ÆǸŠ01-29   169   OHOHOh
2CPU : ÆǸŠ01-29   175   OHOHOh
2CPU : ±¸¸Å 01-29   97   ·Ñ»§