-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Python语言的选择
SHTUSIST edited this page Oct 13, 2017
·
2 revisions
这个问题一开始是担心的,实践下来发现完全没有问题。
- 网络通信,主要瓶颈在网络延迟上,延迟级别一般60-200ms,严重是600-1500ms。
而代码执行时间在0.1ms级别,基本忽略 - 耗时的都用native库
最耗时的就算加密了,采用OpenSSL,完全感觉不到加密增加的CPU消耗。
确实试过纯python实现的SSL,慢太多了,性能无法接受。 - 标准python库,不是最优
体验最大的是Queue的实现,居然采用轮询+ sleep
计时不准确,cpu负载高。
项目很多库都是自己重新精简实现,性能优化过。 - 算法优化,优先于语言
python开发效率高,让使用者有精力去优化。
采用正确的算法,才能从根本上解决问题。
一方面防止分发过程中被加入木马;
另一方面,防止国内杀毒软件误报毒。
因为python二进制文件是官方下载的,文件hash没有问题。而代码都是明文,有报毒的话可以让用户自己辨别。
参与贡献开发的人多。
包括界面,采用html/css/js,会的人很多,都能参与进来。
目前支持的平台: Windows 全系列、Linux、MacOS、OpenWrt、Android
IOS也只是需要时间来解决。
一份代码,在全部平台上执行,只需要在个别细节上进行处理,网络编码部分都通用。
减少了开发成本。
如果是二进制包,github下载会转到amazon上,会被墙, android版安装包即如此。
下载源码没有被墙,下载后覆盖就可以。
封锁只需要抓包就可以分析,比看代码来的容易。