vps测试

最方便,便宜是搬瓦工(bandwagonhost),就是速度不快,有时候连不上稳定性不够。平常查资料,用谷歌也还可以的。 采用的方案是:搬瓦工 洛杉矶机房 openvz  年付费19.9vps ,Shadowsocks server +kcptun 最近推出了kvm cn2的线路,买了一个测试了一下:Shadowsocks server +bbr 测试了一下感觉。也是和上面的速度差不多(同样是洛杉矶机房)。没有感觉到网上别人测试得到的成倍提升。可能分配vps的时候运气比较差。   宇宙最快:Google云平台建的虚拟机。 开启了bbr+shadowsocks速度是搬瓦工的十倍。机房选择的是asia-east1-a,网上说这是台湾机房。 客户端测试延迟是25ms,上YouTube: 就是Google收费太贵了,费用由vm和流量两部分构成: vm采用的按时收费,我选的最低配置:1共享vcpu +0.6GB内存+标准永久10GB磁盘:有效的每小时费率为…

Read More

闭包

以前看js的时候,老是说,闭包闭包,但是一直搞不清楚,感觉就像个函数。最近看go,看到这篇文章,感觉有点明了。 Go by Example 中文:闭包 在我看来,闭包就是匿名函数使用了外部变量。 在wiki里的描述: 在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。 在没有闭包的语言中,变量的生命周期只限于创建它的环境。但在有闭包的语言中,只要有一个闭包引用了这个变量,它就会一直存在。清理不被任何函数引用的变量的工作通常由垃圾回收完成 package main import “fmt” func intSeq() func() int {…

Read More

堆排序

关键:k[i]>=k[2i]&&k[i]>=k[2*i+1] 父节点大于子节点这是大根堆。 堆可以被看成是一棵树,结点在堆中的高度可以被定义为从本结点到叶子结点的最长简单下降路径上边的数目;定义堆的高度为树根的高度。我们将看到,堆结构上的一些基本操作的运行时间至多是与树的高度成正比,为O(lgn) 利用堆排序,分两步: 1构建堆 2获取堆顶 package main import ( “fmt” ) func main() { arr := []int{0, 1, 2,…

Read More