Skip to content

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版安装包即如此。
下载源码没有被墙,下载后覆盖就可以。

对抗分析

​封锁只需要抓包就可以分析,比看代码来的容易。

Clone this wiki locally