Python:一次对所有列表元素执行方法

时间:2016-03-25 23:33:18

标签: python python-2.7

前言 - 我是Python和编程的新手。我正在继承代码,并且正在尝试修改现有代码以使其更有效。

当前问题是服务器列表中的服务器现有""将输出附加到列表的循环。这需要太长时间,因为它正在逐个处理列表。每台机器大约需要5秒钟,大约持续4分钟。

如果我想同时在所有50台服务器上执行此单个呼叫,从而在总共约5秒内获取所有50台服务器的数据,我该怎么办?或者更确切地说 - 有什么方法可以加快速度,一次调用多台机器而不是一台机器?

当前代码示例:

+ (CGFloat)fontSizeForLabel:(UILabel *)label 
{
    if (label.adjustsFontSizeToFitWidth == NO || label.minimumScaleFactor >= 1.f) {
        // font adjustment is disabled
        return label.font.pointSize;
    }

    CGSize unadjustedSize = [_label.text sizeWithAttributes:@{NSFontAttributeName:_label.font}];
    CGFloat scaleFactor = label.frame.size.width / unadjustedSize.width;

    if (scaleFactor >= 1.f) {
        // the text already fits at full font size
        return label.font.pointSize;
    }

    // Respect minimumScaleFactor
    scaleFactor = MAX(scaleFactor, minimumScaleFactor);

    CGFloat newFontSize = label.font.pointSize * scaleFactor;

    // Uncomment this if you insist on integer font sizes
    //newFontSize = floor(newFontSize);

    return newFontSize;
}

0 个答案:

没有答案