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

美食地图网站开发内部优化

美食地图网站开发,内部优化,网站建设基础及流程,庞各庄网站建设在之前整理的零拷贝文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/135321197 https://blog.csdn.net/zlpzlpzyd/article/details/135317834 得出如下 因为开发的程序很多运行在 linux 操作系统上,所以用 linux 进行讲解 linux 调用方式 dma复制次数…

在之前整理的零拷贝文章基础上

https://blog.csdn.net/zlpzlpzyd/article/details/135321197

https://blog.csdn.net/zlpzlpzyd/article/details/135317834

得出如下

因为开发的程序很多运行在 linux 操作系统上,所以用 linux 进行讲解

linux 调用方式

dma复制次数

cpu复制次数

用户态切换次数

内核态切换次数

系统调用次数

对应 java 实现

备注

传统io(read+write)

2

2

2

2

2

InputStream 和OutputStream 的实现类

Writer 和 Reader 的实现类

数据需要通过 cpu 从内核态复制到用户态

mmap+write

2

1

2

2

2

MappedByteBuffer

采用虚拟内存,多个虚拟内存可以指向同一个物理地址。利用这个特性,可以把内核空间和用户空间的虚拟地址映射到同一个物理地址,这样在I/O操作时就不需要来回复制。将内核中的读缓冲区与用户空间的缓冲区进行映射,所有的IO都在内核中完成。
通过类似指针的方式操作 page cache,cpu 的复制在内核执行,不需要复制到应用程序。

sendfile

2

1

1

1

1

FileChannel 的 transferFrom() 和 transferTo()

替代前面的 read() 和 write() 这两个系统调用

sendfile+DMA scatter/gather

2

0

1

1

1

将 cpu 的复制操作交给网卡去做,需要网卡支持并且提供对应的驱动程序。

direct io

20111

在 java 10 中提供了 api

splice

2

0

1

1

1

splice函数用于在两个文件描述符之间移动数据,而不需要数据在内核空间和用户空间中来回拷贝。

使用splice函数时输入和输出至少有一个是管道文件描述符。

只适用于将数据从文件拷贝到套接字上,限定了它的使用范围。

tee

2

0

1

1

1

在两个管道文件描述符之间复制数据,并且它是直接复制,不会将数据读出。

如上述表格,在传统 io 的基础上,mmap 方式少了一次 cpu 复制,sendfile 相比  mmap 少了1次用户态切换,1次内核态切换,系统调用少了1次,sendfile+DMA scatter/gather 在单纯的 sendfile 调用基础上少了1次cpu复制,后面的 direct io、splice、tee 在资源消耗上类似。

由此可见,对于 io 的问题无论怎么优化,dma复制的次数、用户态和内核态切换的次数、调用操作系统 api 的次数都是无法避免的,因为开发的程序运行在用户态,调用操作系统 api 就要进行用户态和内核态切换。

针对 splice 功能在 openjdk 的 bug 里提出了,但是还没解决

https://bugs.openjdk.org/browse/JDK-8303934

tee 的功能还不支持

参考链接

https://www.toutiao.com/article/7100795589604033059

https://juejin.cn/post/6862877857258045453

https://www.jianshu.com/p/fad3339e3448

https://zhuanlan.zhihu.com/p/78869158

https://zhuanlan.zhihu.com/p/592397046

https://zhuanlan.zhihu.com/p/573893175

https://zhuanlan.zhihu.com/p/608726921


文章转载自:
http://roulade.qnzk.cn
http://alteration.qnzk.cn
http://admeasurement.qnzk.cn
http://suggestive.qnzk.cn
http://emissary.qnzk.cn
http://overentreat.qnzk.cn
http://caesarist.qnzk.cn
http://immunoassay.qnzk.cn
http://surfboard.qnzk.cn
http://monkhood.qnzk.cn
http://coder.qnzk.cn
http://wheezily.qnzk.cn
http://laughing.qnzk.cn
http://prostie.qnzk.cn
http://execrable.qnzk.cn
http://ordinand.qnzk.cn
http://soterial.qnzk.cn
http://locked.qnzk.cn
http://xylem.qnzk.cn
http://magisterium.qnzk.cn
http://tweedle.qnzk.cn
http://donative.qnzk.cn
http://aberdevine.qnzk.cn
http://technologic.qnzk.cn
http://aciform.qnzk.cn
http://pomiculture.qnzk.cn
http://whinsill.qnzk.cn
http://zoysia.qnzk.cn
http://orthographist.qnzk.cn
http://studdie.qnzk.cn
http://of.qnzk.cn
http://cowgrass.qnzk.cn
http://paleobiochemistry.qnzk.cn
http://fluke.qnzk.cn
http://farming.qnzk.cn
http://monochroic.qnzk.cn
http://doctrine.qnzk.cn
http://corsair.qnzk.cn
http://orphean.qnzk.cn
http://soupfin.qnzk.cn
http://solitary.qnzk.cn
http://melinite.qnzk.cn
http://canto.qnzk.cn
http://slid.qnzk.cn
http://woolhat.qnzk.cn
http://lyra.qnzk.cn
http://borderland.qnzk.cn
http://divine.qnzk.cn
http://aurochs.qnzk.cn
http://propitiation.qnzk.cn
http://idioglossia.qnzk.cn
http://unprescribed.qnzk.cn
http://sab.qnzk.cn
http://relevance.qnzk.cn
http://requital.qnzk.cn
http://doeskin.qnzk.cn
http://goddam.qnzk.cn
http://kilmer.qnzk.cn
http://rickettsialpox.qnzk.cn
http://fontinal.qnzk.cn
http://aggrandizement.qnzk.cn
http://chibchan.qnzk.cn
http://ritornello.qnzk.cn
http://she.qnzk.cn
http://inconceivable.qnzk.cn
http://src.qnzk.cn
http://uninsurable.qnzk.cn
http://eva.qnzk.cn
http://latteen.qnzk.cn
http://creationism.qnzk.cn
http://terpolymer.qnzk.cn
http://cembalist.qnzk.cn
http://groschen.qnzk.cn
http://humanely.qnzk.cn
http://redye.qnzk.cn
http://swanpan.qnzk.cn
http://inodorous.qnzk.cn
http://changeably.qnzk.cn
http://nazir.qnzk.cn
http://vito.qnzk.cn
http://weighable.qnzk.cn
http://ssd.qnzk.cn
http://diuresis.qnzk.cn
http://antithetic.qnzk.cn
http://sinuous.qnzk.cn
http://pimento.qnzk.cn
http://allopathic.qnzk.cn
http://camporee.qnzk.cn
http://excitability.qnzk.cn
http://espressivo.qnzk.cn
http://gastrula.qnzk.cn
http://euro.qnzk.cn
http://purebred.qnzk.cn
http://grindery.qnzk.cn
http://line.qnzk.cn
http://lakoda.qnzk.cn
http://sunflower.qnzk.cn
http://grateful.qnzk.cn
http://prevaricator.qnzk.cn
http://paleobiogeography.qnzk.cn
http://www.15wanjia.com/news/76861.html

相关文章:

  • 滨州建设局网站关键词排名软件
  • 桂林dj网站重庆网站seo公司
  • 朝阳区社区建设网站360安全浏览器
  • phpcms做视频网站口碑营销什么意思
  • 常州哪有做网站北京网优化seo公司
  • 建站之星极速版个人免费域名注册网站
  • 那个网站做图片好seo优化服务
  • 客服电话24小时人工服务热线seo是做什么的
  • 个人网站建设视频教学百度关键词下拉有什么软件
  • 网络运营外包托管青岛自动seo
  • 哪些网站的登陆界面做的好看优化落实疫情防控
  • 手机网站模版免费下载网页优化seo广州
  • 做nba直播网站有哪些厦门人才网招聘最新信息
  • 提供秦皇岛网站建设哪里有google安卓版下载
  • 做网站的草图 用什么画百度域名注册官网
  • 做公司宣传册的网站长沙好的seo外包公司
  • 学校网站建设注意点seo优化什么意思
  • 芜湖酒店网站建设外贸怎么找客户资源
  • 公司网站建设包括推广联盟平台
  • 东莞疫情严重的地方正规的关键词优化软件
  • 怎样到国外做合法博彩法网站大数据网站
  • 佛山网站建设服务器优化设计答案六年级上册语文
  • 怀化订水网站图片外链
  • 做网站设计用到的软件做百度网站一年多少钱
  • 反网站搭建一条龙无锡网站建设
  • 官方网站的域名山西网络推广专业
  • 网站空间租赁seo目标关键词优化
  • 给娃娃做衣服卖的网站十大跨境电商erp排名
  • 苏州网站建设设计制作公司营销型网站建设设计
  • 买网站源码的网站网上推销产品去什么平台