• Github 开源项目(二)gorun (go语言工具)


    gorun是一个工具,可以在Go程序的源代码中放置“爆炸线”来运行它,或者明确运行这样的源代码文件。 它的创建旨在试图让Go更加吸引那些习惯于Python和类似语言的人们,他们使用源代码进行最明显的操作。

    项目地址:https://github.com/erning/gorun

    一、安装环境:

    系统:Ubuntu 16.04.3 LTS

    Go 版本:go1.9.1

    如果没有安装好go 环境,请先安装go环境

    sudo add-apt-repository ppa:gophers/go 
    sudo apt-get update  
    sudo apt-get install golang

    使用git 安装gorun

    go get github.com/erning/gorun

    安装结果:

    ./gorun 
    usage: gorun <source file> [...]

    做个软连接,可以全局使用

    sudo ln -s /home/www/golang/gopath/bin/linux_386/gorun /usr/bin/gorun

    编写脚本 gorun_script.go

    cat gorun_script.go 
    #!/usr/bin/env gorun
    
    package main
    
    func main() {
        println("Hello gorun!")
    }

    赋予指定权限

    chmod u+x gorun_script.go

    执行该脚本

    ./gorun_script.go 
    Hello gorun!

    二、性能测试(python比较)

     测试文件:hello.go

    cat hello.go 
    package main
    import "fmt"
    func main() {
        fmt.Println("Hello World!")
    }

    go执行结果

    www@TinywanAliYun:~/golang$ time gorun hello.go
    Hello World!
    
    real    0m0.199s
    user    0m0.152s
    sys    0m0.020s
    www@TinywanAliYun:~/golang$ time gorun hello.go
    Hello World!
    
    real    0m0.002s
    user    0m0.000s
    sys    0m0.000s

    python执行结果

    www@TinywanAliYun:~/golang$ time python -c 'print "Hello world123!"'
    Hello world123!
    
    real    0m0.010s
    user    0m0.008s
    sys    0m0.000s
    www@TinywanAliYun:~/golang$ time python -c 'print "Hello world123!"'
    Hello world123!
    
    real    0m0.011s
    user    0m0.008s
    sys    0m0.004s

    php 语言

    www@TinywanAliYun:~/golang$ time php hellp.php 
    Hello World
    real    0m0.019s
    user    0m0.012s
    sys    0m0.004s
    www@TinywanAliYun:~/golang$ time php hellp.php 
    Hello World
    real    0m0.020s
    user    0m0.004s
    sys    0m0.012s

    请注意 gorun 第二次运行的速度比第一次快得多。 发生这种情况是因为在第一次编译后使用了该文件的缓存版本。

    gorun会在需要时正确重新编译文件。

  • 相关阅读:
    poj3673
    poj3438
    poj3461
    poj3518
    poj3672
    变秃了,也变强了!爆肝吐血整理出的超硬核JVM笔记分享!
    左手字节,右手阿里,我是如何通阿里架构师的java面试文档,拿到多家大厂offer的
    Java异常处理与常用类
    copy_{to, from}_user()的思考
    vi文本编辑器常用指令功能
  • 原文地址:https://www.cnblogs.com/tinywan/p/8488918.html
Copyright © 2020-2023  润新知