我只是尝试用Python 3.3运行这个脚本.不幸的是,它的速度比使用Python 2.7快两倍.
#!/usr/bin/env python
from sys import stdin
def main():
for line in stdin:
try:
fields = line.split('"', 6)
print(fields[5])
except:
pass
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
结果如下:
$ time zcat access.log.gz | python3 -m cProfile ./ua.py > /dev/null
real 0m13.276s
user 0m18.977s
sys 0m0.484s
$ time zcat access.log.gz | python2 -m cProfile ./ua.py > /dev/null
real 0m6.139s
user 0m11.693s
sys 0m0.408s
Run Code Online (Sandbox Code Playgroud)
分析显示额外的时间花在打印上:
$ zcat access.log.gz | python3 -m cProfile ./ua.py | tail -15
Ordered by: standard name
ncalls …Run Code Online (Sandbox Code Playgroud) 当我向MySQL表添加约束时,我有这种奇怪的行为:
[...] add constraint qrtz_blob_triggers_ibfk_1 foreign key [...]
Run Code Online (Sandbox Code Playgroud)
现在SHOW CREATE TABLE显示两次约束:
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY [...]
CONSTRAINT `QRTZ_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY [...]
Run Code Online (Sandbox Code Playgroud)
这是完整的会话:
mysql> DROP DATABASE IF EXISTS my_test; CREATE DATABASE my_test default character set utf8 collate utf8_bin;
Query OK, 2 rows affected (0.07 sec)
Query OK, 1 row affected (0.00 sec)
mysql> use my_test;
Database changed
mysql>
mysql> DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
mysql> CREATE TABLE `QRTZ_TRIGGERS` (
`TRIGGER_NAME` varchar(80) … 当您svn log在主干上执行 an时,修订号可能存在差距:
-------------------------------------------------- --------------- r1094 | 用户 | 2013-04-23 09:14:01 +0200(2013 年 4 月 23 日,星期二) | 2 行 提交消息 -------------------------------------------------- --------------- r1067 | 用户 | 2012-01-16 14:29:17 +0100(2012 年 1 月 16 日,星期一) | 1 行 其他提交信息 -------------------------------------------------- ---------------
那是因为其他提交是在分支上进行的。问题是如何确定给定修订版属于哪个分支?
branch ×1
constraints ×1
duplication ×1
mysql ×1
performance ×1
python ×1
python-3.3 ×1
svn ×1
unicode ×1