代码托管,哪家强?

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

一、          性能测试

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

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

1、测试环境

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

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

l  操作系统:Microsoft Windows 2003 R2 32Bits

l  浏览器:Mozilla Firefox 32.0.3

2、测试内容

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

 

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

(3)打开commit列表页

 

(4)打开commit详情页

 

3、测试结果

l  地域:北京

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

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

(3)打开commit列表页

l  地域:广东

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

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

(3)打开commit列表页

 

 

(4)打开commit详情页

4、结果说明

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

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

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

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

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

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

二、功能测试

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

这里有几点需要说明:

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,对速度和体验也有帮助。

本文文字及图片出自 雷锋网

余下全文(1/3)
分享这篇文章:

请关注我们:

共有 2 条讨论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注