V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  gamexg  ›  全部回复第 37 页 / 共 290 页
回复总数  5791
1 ... 33  34  35  36  37  38  39  40  41  42 ... 290  
@lniwn #9

```
package main

import (
"encoding/binary"
"fmt"
"log"
"math/rand"
"os"
"time"

"go.etcd.io/bbolt"
)

func itob(v int) []byte {
b := make([]byte, 8)
binary.BigEndian.PutUint64(b, uint64(v))
return b
}

func main() {
test2()
}

// 测试随机批量连续
func test2() {
os.Remove("test2.db")
db, err := bbolt.Open("test2.db", 0600, nil)
if err != nil {
log.Fatal(err)
}
defer db.Close()

err = db.Update(func(tx *bbolt.Tx) error {
_, err := tx.CreateBucketIfNotExists([]byte("MyBucket"))
return err
})
if err != nil {
panic(err)
}

buf := []byte("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")

data := make([]int, 100000)
for i, _ := range data {
data[i] = rand.Int()
}

for i := 0; i < 20; i++ {
sTime := time.Now()
err = db.Update(func(tx *bbolt.Tx) error {
b := tx.Bucket([]byte("MyBucket"))
for _, v := range data {
err := b.Put(itob(v), buf)
if err != nil {
return err
}
}
return nil
})
/*
乱序批量写 100000:15.2067849s
乱序批量写 100000:409.6209ms
乱序批量写 100000:421.3134ms
乱序批量写 100000:381.5371ms
乱序批量写 100000:381.5839ms
乱序批量写 100000:361.8394ms
乱序批量写 100000:362.8142ms
乱序批量写 100000:364.7673ms
乱序批量写 100000:359.8283ms
乱序批量写 100000:376.0383ms
乱序批量写 100000:361.9876ms
乱序批量写 100000:362.0323ms
乱序批量写 100000:374.0311ms
乱序批量写 100000:365.0348ms
乱序批量写 100000:360.0383ms
乱序批量写 100000:361.022ms
乱序批量写 100000:364.0195ms
乱序批量写 100000:354.024ms
乱序批量写 100000:370.0098ms
乱序批量写 100000:379.9845ms
*/
fmt.Println("乱序批量写 100000:", time.Now().Sub(sTime))
}
}

```
2020 年 3 月 25 日
回复了 xinyu198736 创建的主题 微信 有发烧的程序员兄弟吗?
发烧的话建议去医院检查下,注意防护好,回来立刻洗手换衣服。
@lniwn #2

我原来测试过 github.com/boltdb/bolt
批量写入时,如果 key 不是顺序而是随机值,第一次写入速度会非常慢,100000 条需要 19s 。
刚刚试了下,etcd 也存在这个问题。
@janxin #1 我搜索到的都是半成品,请问指的是?

@lniwn #2 我也是打算用 kv,不过有的地方需要自己实现索引有点麻烦,所以看看是否有更好的选择。

@Trim21 #3 只读?

@wsy2220 #4 但是维护各个平台下能够交叉编译到多环境挺麻烦。cgo 也碰到过多次奇怪的错误,想尽量避免 cgo 。

@loading #5 目前比较方便的交叉编译方式是? xgo ?
的确 sqlite 省心。
fork
最喜欢的是提交时可以只提交特定的行
2020 年 3 月 23 日
回复了 lzl2000 创建的主题 宽带症候群 联通师傅打电话来叫重启光猫
@iasuna #14 我是因为挂 pt 才需要的公网 ip 。

@cev2 #16 我这里的 ipv6 也是分配了 ip 但是不通,客服同样告知 v6 部署中,未完成。但是已经部署了快 1 年了...
@Cielsky #29 外卖小哥应该也喜欢私单,留下常来的外卖小哥的微信到时候直接联系就行。
@gebishushu #9 +1
很好奇私单跳开美团是否可行。
有些疑问,
居家隔离是否会意味着全家感染?
老年人在家隔离是不是一样会被年轻人感染?

选择了目前的这条路意味着没有回头路了,
扩散开后方舟的应收尽收基本难以做到了。
2020 年 3 月 19 日
回复了 hhvv23911k 创建的主题 程序员 秃了,真秃了,怎么应对呀
没感觉和职业有关系

疫情过后去医院看下,听说雄脱是可以吃药治疗的,实在不行也可以植发。
2020 年 3 月 19 日
回复了 fanmouji 创建的主题 职场话题 准备第一次面试别人,请问需要注意哪些东西
问对方解印象深刻的 bug,对方有成就感的代码等
然后顺着话题继续深挖
2020 年 3 月 19 日
回复了 wangbenjun5 创建的主题 MySQL Mysql 数据库需不需要主键 Id?
我碰到过没有主键的...
2020 年 3 月 18 日
回复了 Mac 创建的主题 全球工单系统 今日头条你们是不是疯了?
可能类似淘口令的东西吧
但是淘口令这种东西本身只是为了规避微信封堵

正常情况下更应该是用连接更好,没装 app 可以看 web 版本的内容,有 app 再唤醒 app。
如果想继续用但是又不放心,可以考虑买个 jd 的保险,
至少我用过 jd 的碎屏险,走的是小米官方售后点。
1 ... 33  34  35  36  37  38  39  40  41  42 ... 290  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1648 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 46ms · UTC 16:23 · PVG 00:23 · LAX 09:23 · JFK 12:23
♥ Do have faith in what you're doing.