利用squashfs让机械硬盘"grep -r"源代码目录的速度提升9倍
发表于 : 2018-10-01 17:53
利用squashfs让机械硬盘"grep -r"源代码目录的速度提升9倍
方法很简单,就是把需要经常grep -r源代码目录(比如内核源代码目录)创建成squashfs镜像.
普通ext4分区目录:
squashfs挂载点:
注:grep -r出来的顺序不一样,猜测是文件系统实现的关系.
不知道为什么,整个系统搬进squashfs提速大约只有33%,猜测是因为grep -r的读取顺序跟镜像中文件的排列顺序一致.
方法很简单,就是把需要经常grep -r源代码目录(比如内核源代码目录)创建成squashfs镜像.
代码: 全选
mksquashfs ./linux-4.14.13 ./linux-4.14.13.lz4.squashfs -b 1M -comp lz4 -Xhc -no-exports -noappend
sync
代码: 全选
$ time grep -r CONFIG_HAVE_KERNEL
arch/sh/boot/compressed/misc.c:#ifdef CONFIG_HAVE_KERNEL_BZIP2
arch/s390/boot/compressed/misc.c:#ifdef CONFIG_HAVE_KERNEL_BZIP2
real 0m57.310s
user 0m0.359s
sys 0m4.710s
代码: 全选
$ time grep -r CONFIG_HAVE_KERNEL
arch/s390/boot/compressed/misc.c:#ifdef CONFIG_HAVE_KERNEL_BZIP2
arch/sh/boot/compressed/misc.c:#ifdef CONFIG_HAVE_KERNEL_BZIP2
real 0m5.497s
user 0m0.309s
sys 0m3.793s
不知道为什么,整个系统搬进squashfs提速大约只有33%,猜测是因为grep -r的读取顺序跟镜像中文件的排列顺序一致.