硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1018|回复: 3
收起左侧

[FileX] 为什么filex第一次写入操作耗时很久

[复制链接]

5

主题

201

回帖

216

积分

高级会员

积分
216
发表于 2022-12-16 17:56:32 | 显示全部楼层 |阅读模式
我把filex移植到ZYNQ平台了,跑freertos。核心板上面有一个8GB的emmc,我用filex来保存日志文件。
现在做了一个例子,就是上电后media_open,然后1秒钟往文件里面写入1KB的内容。
这个写入步骤是这样的
fx_file_open
fx_file_write
fx_file_close
fx_media_flush
delay_ms(1000)

然后我会打印这个循环所耗时间。现在就是发现,第一次耗时很久,而且会随着文件变大,时间也会变大。
正常的时候1KB写入时间是10ms左右,但是第一次最小也是600多ms,然后文件变大到2M以上后,这个时间也变成了800多ms了。
那如果这个时间按照1MB增加100ms来算,我文件增大到20MB后,第一次写入岂不是要3秒钟左右了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2022-12-17 11:45:36 | 显示全部楼层
FAT类文件系统都有这个问题,随着文件加大,open的时间会越来越长。

不过你这个才2M,写入就需要800ms,确实有点长了。
回复

使用道具 举报

5

主题

201

回帖

216

积分

高级会员

积分
216
 楼主| 发表于 2022-12-19 13:52:26 | 显示全部楼层
问题其实没有解决,但是观察了几天,发现了些规律。
它这个时间是随着写入文件整体大小,一点点去增大的。但是,增加到1秒左右后,又会变回一个很小的时间,周而复始,所以基本不影响使用。
这个时间变化仅限于“系统上电后的第一次写入时间”。
正常写入时间是比较稳定的,并不会有很明显的变化。
回复

使用道具 举报

5

主题

30

回帖

45

积分

新手上路

积分
45
发表于 2023-3-1 20:25:53 | 显示全部楼层
filex的日期和时间是不是需要修改_fx_system_date_get函数啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 22:40 , Processed in 0.160956 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表