elliotwutingfeng / go-fasttld

go-fasttld is a high performance effective top level domains (eTLD) extraction module.
BSD 3-Clause "New" or "Revised" License
33 stars 5 forks source link

benchmar跑出来的结果跟你对不上 #23

Closed hobbszhou closed 2 years ago

hobbszhou commented 2 years ago

我benchmark,joeguo/tldextract更快,耗内存更小 BenchmarkJoeguoTld-12 1348 4245811 ns/op 2226227 B/op 30087 allocs/op BenchmarkFastTld-12 962 6263159 ns/op 3492143 B/op 40125 allocs/op

elliotwutingfeng commented 2 years ago

Hi hobbszhou, 你试过了哪个URL?

hobbszhou commented 2 years ago

我后面直接用你的benchmark_test里的BenchmarkComparison这个函数跑,又没问题,对的上。我再看看有啥差异吧。 打扰您了。后续有问题再找您

hobbszhou commented 2 years ago

func BenchmarkTldFastTld(b *testing.B) { for i := 0; i < b.N; i++ { extractor, _ := fasttld.New(fasttld.SuffixListParams{}) extractor.Extract(fasttld.URLParams{URL: "https://www.google.com/maps/dir/Parliament+Place,+Parliament+House+Of+Singapore,+Singapore/Parliament+St,+London,+UK/@25.2440033,33.6721455,4z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x31da19a0abd4d71d:0xeda26636dc4ea1dc!2m2!1d103.8504863!2d1.2891543!1m5!1m1!1s0x487604c5aaa7da5b:0xf13a2197d7e7dd26!2m2!1d-0.1260826!2d51.5017061!3e4"}) } }

BenchmarkTldFastTld 163 7543039 ns/op 3492096 B/op 40125 allocs/op

打扰您了,帮忙看下,是我写的 benchmark有问题吗?

elliotwutingfeng commented 2 years ago

您好,这个部分 extractor, _ := fasttld.New(fasttld.SuffixListParams {}) 不应该放进循环里

试一试

func BenchmarkTldFastTld(b * testing.B) {
    extractor, _ := fasttld.New(fasttld.SuffixListParams {})
    for i:= 0; i < b.N; i++ {
        extractor.Extract(fasttld.URLParams {
            URL: "https://www.google.com/maps/dir/Parliament+Place,+Parliament+House+Of+Singapore,+Singapore/Parliament+St,+London,+UK/@25.2440033,33.6721455,4z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x31da19a0abd4d71d:0xeda26636dc4ea1dc!2m2!1d103.8504863!2d1.2891543!1m5!1m1!1s0x487604c5aaa7da5b:0xf13a2197d7e7dd26!2m2!1d-0.1260826!2d51.5017061!3e4"
        })
    }
}
func BenchmarkJoeGuoTldExtract(b *testing.B) {
    cache := "/tmp/tld.cache"
    JoeGuoTldExtract, _ := joeguotldextract.New(cache, false)
    for i := 0; i < b.N; i++ {
        JoeGuoTldExtract.Extract("https://www.google.com/maps/dir/Parliament+Place,+Parliament+House+Of+Singapore,+Singapore/Parliament+St,+London,+UK/@25.2440033,33.6721455,4z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x31da19a0abd4d71d:0xeda26636dc4ea1dc!2m2!1d103.8504863!2d1.2891543!1m5!1m1!1s0x487604c5aaa7da5b:0xf13a2197d7e7dd26!2m2!1d-0.1260826!2d51.5017061!3e4")
    }
}
hobbszhou commented 2 years ago

你说的对,是我太菜了,这都没看到。 感谢你

elliotwutingfeng commented 2 years ago

不用,有其他问题就敢敢问