我有以下正则表达式代码。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import re
start_time = time.time()
input_string = """သီဟိုဠ်မှ ဉာဏ်ကြီးရှင်သည် အာယုဝဍ်ဎနဆေးညွှန်းစာကို ဇလွန်ဈေးဘေးဗာဒံပင်ထက် အဓိဋ္ဌာန်လျက် ဂဃနဏဖတ်ခဲ့သည်။"""
if type(input_string) is not unicode:
input_string = unicode(input_string, "utf8")
input_string = re.sub(ur"([\u1000-\u104F])\s+(?=[\u1000-\u104F])", r"\1", input_string)
input_string = re.sub(ur"\u103A\u1037", u"\u1037\u103A", input_string)
input_string = re.sub(ur"\u1036\u102F", u"\u102F\u1036", input_string)
input_string = re.sub(ur"[\u200B\u200C]", "", input_string)
input_string = re.sub(ur"([\u102D\u102E])\u1030", ur"\1\u102F", input_string)
input_string = re.sub(ur"(\u1047)(?=[\u1000-\u101C\u101E-\u102A\u102C\u102E-\u103F\u104C-\u109F\u0020])", u"\u101B", input_string)
input_string = re.sub(ur"\u1031\u1047", u"\u1031\u101B", input_string)
print "time taken -> %s" % (time.time() - start_time)
基准
我的本地 Mac(3.2 GHz Intel Core i5,16 GB 1867 MHz DDR3 和 Fusion Drive)
aws 实例(m4.xlarge,ebs_optimized)
本地 ubuntu(2 核,8GB RAM)
digital ocean (1核,512MB RAM)
耗时
+---------------+-------------------+
| OS | TIME |
+---------------+-------------------+
| Mac | 0.00268292427063 |
| AWS | 0.0100150108337 |
| Local Ubuntu | 0.00330495834351 |
| Digital Ocean | 0.00202393531799 |
+---------------+-------------------+
如您所见,AWS 的运行时间比我的其他机器长约 5 倍。
我正在使用 python2.7。你能给我解释一下哪里出了问题吗? aws 实例有那么糟糕吗?如何检查我的 m4.xlarge 有什么问题?
谢谢
请您参考如下方法:
问题是我在 aws 实例上使用的是 python 2.7.3。在我更新到 2.7.10 后,它现在和我的其他机器一样快。
干杯。
