在商业项目中使用了 Nuitka 来进行源码的编译和保护。结果用户反馈使用的 HTTP 请求好慢,数据量一大就超时了。
案发现场
将代码在本地运行,进行 strace 发现好慢。
0.000136 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 22), ...}) = 0 <0.000008>
0.000050 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa5d83f8000 <0.000019>
0.000056 write(1, "\r\n", 2) = 2 <0.000017>
0.000048 write(1, "\r\n", 2) = 2 <0.000008>
0.000042 write(1, "\n", 1) = 1 <0.000007>
3.033367 brk(0x2a08000) = 0x2a08000 <0.000019>
1.743621 brk(0x2a41000) = 0x2a41000 <0.000019>
2.166131 brk(0x2a86000) = 0x2a86000 <0.000021>
2.687461 brk(0x2aaf000) = 0x2aaf000 <0.000017>
0.266587 brk(0x2ae3000) = 0x2ae3000 <0.000165>
4.485236 brk(0x2b3a000) = 0x2b3a000 <0.000