当前位置: 首页 > news >正文

dede做的网站弹广告营销型企业网站推广的方法有哪些

dede做的网站弹广告,营销型企业网站推广的方法有哪些,中国十大影视公司排名,qq空间怎么做网站有时我们可能会遇到需要把多个 gzip 文件合并成单个 gzip 文件的场景,最简单最容易的方式是把每个gzip文件都先解压,然后合并成一个文件后再次进行压缩,最终得到我们想要的结果,但这种先解压后压缩的方式显然效率不高,…

有时我们可能会遇到需要把多个 gzip 文件合并成单个 gzip 文件的场景,最简单最容易的方式是把每个gzip文件都先解压,然后合并成一个文件后再次进行压缩,最终得到我们想要的结果,但这种先解压后压缩的方式显然效率不高,有没有更好的实现方式呢,答案是肯定的,Linux下常用的压缩库 Zlib 的两位主要作者之一 Mark Adler 就给我们提供了一个这样的示例程序:

https://github.com/madler/zlib/blob/develop/examples/gzjoin.c

在这里插入图片描述
从说明中我们可以看出,这种方式只需要解压一遍所有文件(用于找到特定的比特位并修改它),但不需要做任何额外的压缩操作,而且合并后的 gzip 文件末尾的 crc32 校验和也不需要从头计算(根据源 gzip 文件的校验和用函数 crc32_combine 便可计算出),一般来说,deflate 解压操作要比压缩操作速度快很多,所以这种合并 gzip 文件的方式在性能上是相当高效的,如果是在 C 语言中实现,我们就可以直接“借鉴” Mark Adler 大佬的代码。

针对同一个数据源,用 Go 内置 compress/gzip 包,压缩和解压缩简单的性能对比:

goos: darwin
goarch: arm64
pkg: go-redis-demo
BenchmarkGzipgoredis_test.go:60: test input data length: 778785
BenchmarkGzip/compress
BenchmarkGzip/compress-8         	     115	   9727792 ns/op
BenchmarkGzip/decompress
BenchmarkGzip/decompress-8       	     609	   1957044 ns/op

使用默认压缩级别,解压速度是压缩速度的5倍,使用 Linux 下的命令行压缩工具 gzip 对比结果也差不多:

命令行工具 gzip 压缩速度:

$ ll test.html 
-rw-r--r--  1 zy  staff  778785 Jul 30 14:28 test.html
$ 
$ time gzip -kf test.htmlreal    0m0.034s
user    0m0.024s
sys     0m0.007s
$ time gzip -kf test.htmlreal    0m0.032s
user    0m0.025s
sys     0m0.004s
$ time gzip -kf test.htmlreal    0m0.030s
user    0m0.025s
sys     0m0.004s

命令行工具 gzip 解压缩速度:

$ ll
total 1808
-rw-r--r--  1 zy  staff  778785 Jul 30 14:28 test.html
-rw-r--r--  1 zy  staff  142127 Jul 30 14:28 test.html.gz
$ 
$ time gzip -dkf test.html.gzreal    0m0.013s
user    0m0.003s
sys     0m0.005s
$ time gzip -dkf test.html.gzreal    0m0.008s
user    0m0.003s
sys     0m0.004s
$ time gzip -dkf test.html.gzreal    0m0.010s
user    0m0.003s
sys     0m0.004s

解压也是比压缩快 3-4 倍左右,这就意味着在合并 gzip 文件时省去压缩操作会对性能产生极大提升。

Go 语言实现

用 Go 内置的 compress/gzip 或者 compress/flate 包无法实现与 gzjoin.c 相同的功能,因为 gzjoin.c 的实现依赖解压时的 Z_BLOCK 刷写模式,而 compress/flate 解压缩时并不支持指定 Flush 模式,所以我们只能换一种思路,利用 cgo 来直接调用 Zlib C 库,具体实现可以参考我这里的代码 https://github.com/zhyee/deflatejoin,如果对实现细节不感兴趣,也可以在你的Go项目中直接调用该module, 与用 解压 --> 合并文件 --> 再压缩 的方式性能对比差不多提升了10倍以上:

goos: darwin
goarch: arm64
pkg: github.com/zhyee/deflatejoin
BenchmarkConcatGzip/concat-standard-go-8                       9         123559972 ns/op         1257826 B/op       1261 allocs/op
BenchmarkConcatGzip/concat-deflatejoin-8                     100          10784015 ns/op           30289 B/op         41 allocs/op
http://www.shuangfujiaoyu.com/news/32074.html

相关文章:

  • 三位数的域名网站黑龙seo网站优化
  • 做网站图片代码怎么居中成品视频直播软件推荐哪个好一点
  • 做网站的分辨率要多大seo没什么作用了
  • 体验做黑客的网站深圳全网营销推广平台
  • 徐州提供网站建设要多少钱互联网广告优势
  • 农特产品如何做网站市场营销七大策略
  • 网站备案号申请直通车怎么开才有效果
  • 网站建设开发详细步骤流程图关键词如何排名在首页
  • 网站建设图片链接方法全球访问量top100网站
  • 江西会昌建设局网站淘宝店铺怎么引流推广
  • 网站图片设置bt磁力链好用的引擎
  • 对网站开发与管理的分析高端网站制作
  • 微网站需爬虫搜索引擎
  • 石家庄站建设费用多少最新新闻热点事件及评论
  • 顺德网站建设哪家好建网站软件工具
  • 微信小程序组件库google 优化推广
  • html做高逼格网站银行营销技巧和营销方法
  • 唐山医疗网站建设章鱼磁力链接引擎
  • 句容市建设工程管理处网站google下载
  • 设计良好的网站一般需要怎么做南京百度关键字优化价格
  • 微网站幻灯片尺寸福州seo服务
  • 建网站网北京网站优化多少钱
  • 中铁建设集团有限公司华南分公司网站seo哪家公司好
  • 互联网运营管理湖北短视频搜索seo
  • 不会做网站能做网络销售吗免费推广的渠道有哪些
  • 温州网站优化页面东莞百度推广优化排名
  • 广东双语网站建设价格百度推广视频
  • 网站程序怎么上传自媒体软文发布平台
  • 建站公司用的 商城系统公司seo推广营销网站
  • 沈阳做网站公司哪家好整合营销的特点有哪些