-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
写文件部分代码优化 #4
Comments
这样做的话就得把数据缓存在内存中,内存开销会很大的呀。 |
我只是提供了一种方案,而且并不是会存储所有的数据,这个内存使用是不定的,最大存储就是文件的全部数据;这样也是用空间来换时间,顺序写入比随机写入的效率应该是高很多;或者就用mmap的方式,这种方式更高效,因为写文件的大小是固定的,所以创建的文件时可以指定大小,这样写入内存就直接映射到文件中了。这是我能想到最高效的方法了。 |
这个方案是可以,但是下载程序瓶颈在网络IO上,正常情况的下载的速度是肯定远远低于硬盘写入速度的,所以不用考虑空间换时间的方式来优化性能。 |
可以的 |
加你了~ |
Closed
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
在写文件时多个协程通过加锁的方式来写文件的,这样会出现对文件进行随机的写操作,这样不是很高效,可以优化一下;我能想到的优化思路,创建一个channel通道,把下载的数据传递到通道中,然后那一个协程进行顺序的写入,在写入数据时要保证数据时有序的,这样才能写入磁盘时有顺序写入的。
The text was updated successfully, but these errors were encountered: