对比界面
新增
修改
删除
结构基本定了,把几个类型的视图都昨晚,补全单元测试,就开始自测和内测了。
打包了各平台的预览版。
windows版本是最简单的,而且发布后不管win7,winserver 2016这种古早系统都能直接跑,比flutter的桌面版强
mac版真是花了我九牛二虎之力。好歹我的hcui还在mac store 上发布过,还是折腾的我够呛,打.APP包还行,签名蛋疼的紧,不签名还给我app图标上打个叉
linux打了个AppImage倒是简单,就是上传后想起来glibc那回事,还要下一个debian 11装虚机里重新打包。
看了遍 C#的 minimal API和中间件的文档,准备开搞http接口
接口加入全局的gb18030支持
更适合中国MUD的体质
拿go-wrk跑了下压测
go-wrk -c 100-d 60 http://127.0.0.1:8466/api/db/info
Running 60s test @ http://127.0.0.1:8466/api/db/info
100 goroutine(s) running concurrently
8493089 requests in 58.864883931s, 1.05GB read
Requests/sec: 144281.08
Transfer/sec: 18.30MB
Avg Req Time: 693.091µs
Fastest Request: 26.439µs
Slowest Request: 9.340266ms
Number of Errors: 0
好吧,微软还是很给力的,140krps
基本不太用考虑调用接口的消耗的感觉。
API结构全部加完。
由于加了很多http服务控制,请求控制和相应解析,测试类达到了3000多行……
再补一些模型的测试,就能开始糊文档了。
http接口部分比我预计的快很多,还是早赞一下微软和dotnet。
做了个寻路的跑分
go-wrk -c 1 -body @query.json -M POST http://abc:@127.0.0.1:8466/api/db/querypathany
Running 10s test @ http://abc:@127.0.0.1:8466/api/db/querypathany
1 goroutine(s) running concurrently
691 requests in 9.99467638s, 66.81KB read
Requests/sec: 69.14
Transfer/sec: 6.68KB
Avg Req Time: 14.464075ms
Fastest Request: 13.193749ms
Slowest Request: 21.453788ms
Number of Errors: 0
也就是实际应用中大概15ms左右
比node版本 略低,比lua版本快不少。
毕竟有http装箱和解包的过程,基本能接受。
实际考虑到请求的客户端未必能到达go-wrk的效率,还要json decode下,估计和lua版本效率差不多,1秒20次寻路的样子
go-wrk -c 1 -body @query.json -M POST http://abc:@127.0.0.1:8466/api/db/querypathany
Running 10s test @ http://abc:@127.0.0.1:8466/api/db/querypathany
1 goroutine(s) running concurrently
2232 requests in 9.991021375s, 215.79KB read
Requests/sec: 223.40
Transfer/sec: 21.60KB
Avg Req Time: 4.476264ms
Fastest Request: 3.61672ms
Slowest Request: 11.979995ms
Number of Errors: 0
犯了低级错误,没用release版本测
release 版本不到5ms。
改造古早mush机器人,通过http协议代替原来基于ActiveXObject的Mapper.exe
当然,破烂Jscript也是通过ActiveXObject来发起http请求的
最神奇的是这个会自动转码,收/发会把gb18030的专成utf-8。
我地图还调了半天,都以为我gbk转码功能出问题了。
丢vps 上跑了10个小时
内存占用比较稳定,暂时没发现有内存泄漏,继续补文档。