相关疑难解决方法(0)

Python:内存中字符串的大小

请考虑以下代码:

arr = []
for (str, id, flag) in some_data:
    arr.append((str, id, flag))
Run Code Online (Sandbox Code Playgroud)

想象一下,输入字符串的平均长度为2个字符,最大值为5个字符,而some_data则为100万个元素.这种结构的内存要求是什么?

可能是因为字符串浪费了很多内存?如果是这样,我该如何避免呢?

python arrays memory-management

18
推荐指数
2
解决办法
1万
查看次数

最大化并行请求数 (aiohttp)

tl;dr:如何最大限度地增加可以并行发送的 http 请求数?

我正在使用aiohttp库从多个 url 获取数据。我正在测试它的性能,我观察到在这个过程中的某个地方存在瓶颈,一次运行更多的 url 无济于事。

我正在使用此代码:

import asyncio
import aiohttp

async def fetch(url, session):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0'}
    try:
        async with session.get(
            url, headers=headers, 
            ssl = False, 
            timeout = aiohttp.ClientTimeout(
                total=None, 
                sock_connect = 10, 
                sock_read = 10
            )
        ) as response:
            content = await response.read()
            return (url, 'OK', content)
    except Exception as e:
        print(e)
        return (url, 'ERROR', str(e))

async def run(url_list):
    tasks = []
    async with …
Run Code Online (Sandbox Code Playgroud)

python asynchronous request python-asyncio aiohttp

4
推荐指数
1
解决办法
3626
查看次数