技术开发 频道

那么问题来了,代码托管家强?

  【IT168 厂商动态】开发者服务市场最近突然火爆起来了,各种云服务层出不穷,就以最基本的代码托管服务为例,国内也有好多家,我挑了几家主流的做了一个横向评测,以供各位码农参考。

  性能测试

  我们用代码托管服务一般有两种访问方式,客户端以及 Web端。客户端一般用来拉/推代码,在实际测试的过程中发现,客户端操作在不同的服务商那里差异性非常小,所以就没有整理成报告。主要的体验不同在Web端。

  我分别从北京和广东两个地方进行了一系列常用的 Web 端操作,记录了时间。我选取了10个不同的开源项目,有大有小,对这些项目分别进行同样的操作做对比。测试的数据和过程我全部列出来了,有兴趣的可以用同样的方法在你的环境中测试,我相信得到的数据应该是类似的。

  1、测试环境

  主机:青云主机,2核/2G RAM

  网络:2Mbps出(由于是服务器,入口带宽应该很大的,具体数据未知)

  操作系统:Microsoft Windows 2003 R2 32Bits

  浏览器:Mozilla Firefox 32.0.3

  2、测试内容

  (1)打开项目的代码目录树

  (2)打开项目单个文件查看代码

  (3)打开commit列表页

  (4)打开commit详情页

  3、测试结果

  地域:北京

  (1)打开项目的代码目录树

  (2)打开项目单个文件查看代码

  (3)打开commit列表页

  地域:广东

  (1)打开项目的代码目录树

  (2)打开项目单个文件查看代码

  (3)打开commit列表页

  (4)打开commit详情页

  4、结果说明

  上述测试结果数据的单位为秒,数值越小越好。

  Coding的Commit详情页的打开速度在图表上基本看不到是因为数值太小(特别是北京),我怀疑跟预先做了相关的缓存有关。

  由于下行网速比较大,所以传输耗时可以忽略,测试数据可以大致等同于服务器处理并输出数据所用的时间。

  我不是很能理解为啥git@osc和 csdn 都是用的 gitlab 但是性能差异这么大。

  Github 的数据需要考虑墙的因素。

  各服务商及不同页面的加载方式对比:

  功能测试

  我这里列出了常用的代码托管服务的功能,做了一个表格,清晰明了。可能有某些功能遗漏,欢迎来信告知。

  这里有几点需要说明:

  1.私有项目的 Pull Request,Coding.net 是通过 Merge Request 实现的,名字不同,功能一样的。

  2.保护分支看起来是 Coding.net 专门为团队协作开发的,某些分支只有某些账户具有写操作,防止开发中的误操作。

  3.兼容 SVN 似乎全世界只有 github 实现了。

  4.代码质量分析 Coding.net 和 git@osc 都是通过 Sonar 实现的,Coding .net 支持的语言多一些,但分析的质量都很一般。

  结果分析

  从功能性上讲,大家都差不了太多,github 的功能是最全面的,CSDN 和 gitcafe 的功能稍微欠缺一些。从性能上来讲 Coding.net 具有明显的优势,有可能跟 Coding 是用 Java自己开发的有关。据我了解,CSDN 和 git@osc 是用 gitlab 搭的,Ruby 平台,gitcafe,github 是用 Ruby 自己开发的。我感觉抛开墙的因素,github 的总体数据应该不会比 Coding 差。

  无意挑起语言之争,只是对这里的性能差异的一个猜测,也有可能是算法优化不同,跟语言平台无关。从前端代码来看 Coding 和 github 都大量采用了 Ajax,对速度和体验也有帮助。

  那么,问题来了,代码托管哪家强?

0
相关文章