V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  whoami9894  ›  全部回复第 1 页 / 共 32 页
回复总数  636
1  2  3  4  5  6  7  8  9  10 ... 32  
至于为什么 gin 可以,因为它根本没做这个优化

16 年有人发过 pr ( https://github.com/gin-gonic/gin/pull/638),但不知道什么原因关闭了,一直到今天都没实现这个优化



```go
// gin
8 0x000000000054620e in net.(*TCPConn).Write
at <autogenerated>:1
9 0x00000000005de533 in net/http.checkConnErrorWriter.Write
at d:/go/src/net/http/server.go:3532
10 0x0000000000592e75 in bufio.(*Writer).Write
at d:/go/src/bufio/bufio.go:639
11 0x00000000005d2695 in net/http.(*chunkWriter).Write
at d:/go/src/net/http/server.go:383
12 0x0000000000592e75 in bufio.(*Writer).Write
at d:/go/src/bufio/bufio.go:639
13 0x00000000005d819e in net/http.(*response).write
at d:/go/src/net/http/server.go:1592
14 0x00000000005d7ed0 in net/http.(*response).Write
at d:/go/src/net/http/server.go:1550
15 0x00000000006f3078 in github.com/gin-gonic/gin.(*responseWriter).Write
at c:/users/eddisonwang/go/pkg/mod/github.com/gin-gonic/[email protected]/response_writer.go:78
16 0x0000000000452444 in io.copyBuffer
at d:/go/src/io/io.go:425
17 0x00000000004520fa in io.Copy
at d:/go/src/io/io.go:382
18 0x00000000004520fa in io.CopyN
at d:/go/src/io/io.go:358
19 0x00000000005b2ba5 in net/http.serveContent
at d:/go/src/net/http/fs.go:337
20 0x00000000005b4af5 in net/http.serveFile
at d:/go/src/net/http/fs.go:664




// std http
6 0x0000000000f0ed5c in net.sendFile
at d:/go/src/net/sendfile_windows.go:37
7 0x0000000000f1196e in net.(*TCPConn).readFrom
at d:/go/src/net/tcpsock_posix.go:52
8 0x0000000000f10f76 in net.(*TCPConn).ReadFrom
at d:/go/src/net/tcpsock.go:104
9 0x0000000000fa08d9 in net/http.(*response).ReadFrom
at d:/go/src/net/http/server.go:597
10 0x0000000000e65a8b in io.copyBuffer
at d:/go/src/io/io.go:409
11 0x0000000000e657fa in io.Copy
at d:/go/src/io/io.go:382
12 0x0000000000e657fa in io.CopyN
at d:/go/src/io/io.go:358
13 0x0000000000f80465 in net/http.serveContent
at d:/go/src/net/http/fs.go:337
14 0x0000000000f823b5 in net/http.serveFile
at d:/go/src/net/http/fs.go:664
```
http.FileServer 在 Windows 的最底层调用 TransmitFile ( https://github.com/golang/go/blob/master/src/internal/poll/sendfile_windows.go#L61)

TransmitFile 在个人机限制并发数为 2 ,服务器无限制 ( https://docs.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-transmitfile#remarks)

> Workstation and client versions of Windows optimize the TransmitFile function for minimum memory and resource utilization by limiting the number of concurrent TransmitFile operations allowed on the system to a maximum of two. On Windows Vista, Windows XP, Windows 2000 Professional, and Windows NT Workstation 3.51 and later only two outstanding TransmitFile requests are handled simultaneously; the third request will wait until one of the previous requests is completed.

Server versions of Windows optimize the TransmitFile function for high performance. On server versions, there are no default limits placed on the number of concurrent TransmitFile operations allowed on the system. Expect better performance results when using TransmitFile on server versions of Windows. On server versions of Windows, it is possible to set a limit on the maximum number of concurrent TransmitFile operations by creating a registry entry and setting a value for the following REG_DWORD:

HKEY_LOCAL_MACHINE\CurrentControlSet\Services\AFD\Parameters\MaxActiveTransmitFileCount
2021-03-20 18:03:24 +08:00
回复了 xuletter2021 创建的主题 Go 编程语言 golang 协程读写上下文变量 一直为 0
整个 goroutine 匿名函数被优化掉了
0x0045 00069 (.\t.go:8) MOVQ "".&x+24(SP), AX
0x004a 00074 (.\t.go:8) INCQ (AX)
2021-02-17 18:19:54 +08:00
回复了 yitalin 创建的主题 PHP PHP 反向代理访问任意网站源码来了_Any-Proxy
@yitalin #38
态度还挺冲,逗笑我了
2021-01-19 10:13:30 +08:00
回复了 Areym 创建的主题 程序员 QQ 读浏览器历史记录 微信读下载记录?
先搜搜 idmmkb.dll 是啥,一群人在这不过脑子的人云亦云
2020-12-17 14:11:04 +08:00
回复了 jirex 创建的主题 程序员 5 年全栈想转网络安全,是不是个好的职业选择?
看来不少开发想转安全
静态编译和 RAM ROM 有啥关系
2020-12-05 13:10:01 +08:00
回复了 FrankAdler 创建的主题 Windows 更新完 Windows 10 20H2 的奇怪发现
那就`sc delete edgeupdate`吧
2020-11-30 01:38:18 +08:00
回复了 Shook 创建的主题 JavaScript 这样的 javascript 沙盒足够安全吗?
按你计算器的需求,白名单限制下 [0-9\+\-\*\/\(\)]
2020-11-30 01:28:52 +08:00
回复了 Shook 创建的主题 JavaScript 这样的 javascript 沙盒足够安全吗?
(()=>{}).constructor('return eval')()('prompt()')

对 JS 这种语言就别想着自己实现沙盒了,vm2 这种专门做沙盒的项目都被打穿过好多次
2020-11-23 19:48:24 +08:00
回复了 Chaox 创建的主题 Go 编程语言 golang 中的切片地址
第一行打印 months 变量地址 (SliceHeader)
第二行从 months 变量地址处取一个指针变量的长度当做指针打印 (SliceHeader 开头也正好是 uintptr)
第三行打印 slice 指向的底层数组第一个元素地址
2020-11-11 21:37:26 +08:00
回复了 coool 创建的主题 Ruby on Rails Ruby, Rails 不值一学
你是来黑 Go 的吧
2020-10-13 12:43:30 +08:00
回复了 whitedroa 创建的主题 职场话题 应届生大厂 offer 如何谈薪资
@xupefei
鹅厂 base 这么低,HR 还把话说死
修复了?我试了身份证号是加*的
2020-09-10 20:39:06 +08:00
回复了 whoami9894 创建的主题 Apple 现在入手 mbp 16''合适吗
@linvaux
享折扣是指 2020 款发售后 2019 款降价吗
2020-09-10 20:38:38 +08:00
回复了 whoami9894 创建的主题 Apple 现在入手 mbp 16''合适吗
@brendan
十代 i7 的散热和价格会不会比肩现在的九代 i9 啊
2020-09-08 11:37:20 +08:00
回复了 whoami9894 创建的主题 Apple 现在入手 mbp 16''合适吗
@pjntt
是想权衡一个好的时机买,免得后悔
2020-09-08 11:35:52 +08:00
回复了 whoami9894 创建的主题 Apple 现在入手 mbp 16''合适吗
@Leonard
渠道价怕翻车啊,搜了下几个知名的渠道商都有人爆料卖翻新机的

渠道价和教育优惠差 1.7K ,算上耳机也就差不到 1K,还有官网保修,感觉还是比较香的
2020-09-08 11:32:30 +08:00
回复了 whoami9894 创建的主题 Apple 现在入手 mbp 16''合适吗
@gps949
我搜了一下貌似没有这个条款,是 apple 只抽查学生证可以钻空子
1  2  3  4  5  6  7  8  9  10 ... 32  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4079 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 09:46 · PVG 17:46 · LAX 02:46 · JFK 05:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.