Java golang 等语言比 python 快,但在单次的网络请求上,Java,c/c++,golang 之类的是否还有优势?
我测试用 python 的 session.get ,一次请求耗时 和用 go 的 http.Get 差不多甚至有时还要快。(网络一样)
是不是 Java,c/c++,golang 之类的语言,相比 python,单次 get/post,并没有多少优势?
Java golang 等语言比 python 快,但在单次的网络请求上,Java,c/c++,golang 之类的是否还有优势?
我测试用 python 的 session.get ,一次请求耗时 和用 go 的 http.Get 差不多甚至有时还要快。(网络一样)
是不是 Java,c/c++,golang 之类的语言,相比 python,单次 get/post,并没有多少优势?
|
AngryPandaApr 20, 2019
1
请求耗时主要消耗在网络请求自身上面,与语言关系不大。
请求发起和响应接收肯定有性能差异,但是占比应该很小。 |
|
2
@AngryPanda 我用 python 的 requests,比 golang 的 http.Get 要快几十毫秒,这没想到,是因为 golang 的初始化更耗时吗
|
|
keepeyeApr 20, 2019
5
你是怎么测的?
|
|
6
@keepeye 这是 golang 的,在我这多次测试大概是 150ms,用的是 golang 内置的 time 计算的耗时
func main() { t1 := time.Now() for i := 0; i < 1; i++ { url := "https://www.baidu.com/" http.Get(url) } t2 := time.Now() fmt.Println(t2.Sub(t1)) } |
|
keepeyeApr 20, 2019
9
@imgse
[code] import requests import time t = time.time() resp = requests.get("http://www.baidu.com") t1 = time.time() print(t1 - t) [/code] [code] package main import ( "fmt" "io/ioutil" "net/http" "time" ) func main() { a := new([]int) fmt.Println(a) t := time.Now() resp, _ := http.Get("http://www.baidu.com") defer resp.Body.Close() ioutil.ReadAll(resp.Body) //fmt.Println(body) fmt.Println(time.Now().Sub(t).Nanoseconds() / 1000 / 1000) } [/code] |
|
rayhyApr 20, 2019
10
@imgse go 哪个版本啊?我之前也遇到过这个问题,仅供参考: https://www.v2ex.com/t/514632
|
|
6j1A6v70lEv5n2U2Apr 21, 2019 via iPhone
14
用 C# 和 PHP 写的请求同一个地址,不严谨的感觉 PHP 慢很多
|