代码改变世界

golang一个例子引出的几个问题

2013-01-30 10:39 by 轩脉刃, 6371 阅读, 1 推荐, 收藏, 编辑
摘要:这个例子是从go源码src/pkg/net/rpc/server_test.go截取出来的func benchmarkEndToEndAsync(dial func() (*Client, error), b *testing.B) { const MaxConcurrentCalls = 100 b.StopTimer() once.Do(startServer) client, err := dial() if err != nil { b.Fatal("error dialing:", err) } // Asyn... 阅读全文

go的sql包

2013-01-23 09:55 by 轩脉刃, 7412 阅读, 0 推荐, 收藏, 编辑
摘要:go的sql包是在pkg/database中,里面的两个包sql和sql/driver可以一起看。建议看这个两个包之前可以先看看sql文件夹下的doc.txt。这个文档说了几点比较重要的: 1 这两个包是真正Go风格的包。 2 这使用这两个包就不需要关于并发处理了,也不需要维护自己的数据库连接池了,一旦建立了一个连接,这个连接是可以在各个goroutine之间共用的。 3 sql/drive... 阅读全文

golang test说明解读

2013-01-22 10:26 by 轩脉刃, 13519 阅读, 1 推荐, 收藏, 编辑
摘要:go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试... 阅读全文

mymysql与go-mysql-driver性能比较

2013-01-21 09:35 by 轩脉刃, 12931 阅读, 0 推荐, 收藏, 编辑
摘要:mymysql和go-mysql-driver是两个现在都很流行的go的mysql驱动,这篇文章目的是要将这两个驱动进行一下比较 两个mysql驱动的下载地址: https://github.com/ziutek/mymysql http://code.google.com/p/go-mysql-driver/ 首先是性能测试 准备工作: 在mysql建表和初始化数据(db是test)... 阅读全文

golang test测试实例

2013-01-18 09:51 by 轩脉刃, 30343 阅读, 4 推荐, 收藏, 编辑
摘要:本文的目的是对mymysql进行单元测试和性能测试 准备工作: 1 go get github.com/ziutek/mymysql/thrsafe 2 在mysql建表和初始化数据(db是test) drop table if exists admin;CREATE TABLE `admin` ( `adminid` INT(10) UNSIGNED NOT NULL AUTO_I... 阅读全文

GCC知识

2013-01-17 09:41 by 轩脉刃, 2404 阅读, 3 推荐, 收藏, 编辑
摘要:像C语言这样的静态语言,运行的步骤是先将C经过编译器转化成汇编语言,汇编语言再经过汇编器转化成机器语言模块,然后链接器将程序的机器语言模块和库程序的机器语言模块和起来,生成可执行文件,最后再由加载器加载这个可执行文件,产生输入输出。 在这个环节中,gcc就是扮演着编译器的角色。gcc原本只能编译C语言,但是后来,经过扩展之后也能处理JAVA/OC等语言了。GCC现在已经成为类Unix操作系... 阅读全文

Plan9的C编译器

2013-01-16 09:26 by 轩脉刃, 4446 阅读, 2 推荐, 收藏, 编辑
摘要:Plan9的C编译器有什么特别 对于分布式操作系统来说,需要能在那么多种CPU上进行运行,C编译器是尤其重要的。试想一下,如果你写了一个标准C的程序,需要在AMD64,ARM,Intel 86-32,MIPS,Motorola这么多CPU架构上都能运行,不是一个简单的事情。 plan9的C编译器要做的就是这么一个事情。How to Use Plan9 C Compiler http://doc... 阅读全文

go/src/make.bash阅读

2013-01-15 09:58 by 轩脉刃, 3370 阅读, 1 推荐, 收藏, 编辑
摘要:今天看到@polaris1119的这篇分析源码安装Go的过程(初稿)至今还没仔细看过make.bash的内容。这篇算是阅读笔记了。环境变量首先是make.bash中用到的环境变量:GOROOT_FINAL:Go源码的根目录,这个变量的是在gcc的时候使用的,如果你设置了这个,gcc的-D参数就是你设置的GOHOSTARCH:Go所在的宿主机器的架构,当然这里指的是CPU的架构GOARCH:安装包和工具所在的机器的架构。GOOS:安装包和工具所在的机器的操作系统。GO_GCFLAGS:是否要在编译的时候需要带上5g/6g/8g的参数GO_LDFLAGS:是否要在链接的时候带上5l/6l/8l的参 阅读全文

CPU知识

2013-01-14 11:47 by 轩脉刃, 2940 阅读, 2 推荐, 收藏, 编辑
摘要:CPU的指令集是什么 指令集是底层软件与硬件交互的语言。一台计算机的全部指令称为该计算机的指令集。 现在的常见的指令集有: MIPS指令集 ARM指令集 Intel x86指令集 指令集有两种形式,一种是人类可以编程书写的形式(也就是平时所说的汇编语言),另一种是计算机所能识别的形式(就是汇编语言对应计算机的机器语言)。 下面是一个典型的MIPS汇编语言: add $s1,$... 阅读全文

Plan9操作系统基本概念

2013-01-07 16:38 by 轩脉刃, 11766 阅读, 6 推荐, 收藏, 编辑
摘要:什么是Plan 9Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。当然这个操作系统的参与者还有几个大名鼎鼎的人:包括Ken Thompson(C语言和Unix创始人),Dennis Ritchie(C语言和Unix创始人),Brain Kernighan(awk之父),Doug Mcllroy(Unix管道提出者,Unix开发参与者)。为什么有了Unix还需要有Plan9呢?Plan9中最本质的思想是“一切皆是文件”,CPU是一个文件,内存是一个文件,网络是一个文件,任何的东西都是一个文件。Unix是一个多用户分时 阅读全文
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 49 下一页