Comments (11)
补充一下LOG ,可以看到 写一个时长要3s多
[16:43:38.726]收←◆Flash Trigger a GC check after created ENV.
[16:43:38.936]收←◆Flash The remain empty sector is 948, GC threshold is 1.
214
[16:43:42.333]收←◆215
[16:43:45.726]收←◆216
[16:43:49.120]收←◆217
[16:43:52.517]收←◆218
[16:43:55.918]收←◆219
[16:43:59.320]收←◆220
[16:44:02.723]收←◆221
[16:44:06.131]收←◆222
[16:44:09.542]收←◆223
[16:44:12.956]收←◆Flash Trigger a GC check after created ENV.
[16:44:13.166]收←◆Flash The remain empty sector is 948, GC threshold is 1.
224
[16:44:16.576]收←◆225
[16:44:19.980]收←◆226
[16:44:23.388]收←◆227
[16:44:26.799]收←◆228
[16:44:30.211]收←◆229
[16:44:33.627]收←◆230
[16:44:37.044]收←◆231
[16:44:40.464]收←◆232
[16:44:43.888]收←◆233
[16:44:47.315]收←◆Flash Trigger a GC check after created ENV.
[16:44:47.525]收←◆Flash The remain empty sector is 948, GC threshold is 1.
234
[16:44:50.949]收←◆235
from easyflash.
会不会跟 SPI 驱动有关系,先抓一下 SPI 波形分析一下吧
from easyflash.
会不会跟 SPI 驱动有关系,先抓一下 SPI 波形分析一下吧
这个SPI驱动和之前 直接驱动flash是同一个驱动,是直接的hal库 api;
之前写入速度几乎在100ms左右
from easyflash.
会不会跟 SPI 驱动有关系,先抓一下 SPI 波形分析一下吧
这个SPI驱动和之前 直接驱动flash是同一个驱动,是直接的hal库 api;
之前写入速度几乎在100ms左右
另外一个发现,随着写入次数的增加,写入的速度越来越慢
from easyflash.
是否有相关的测试benchmark?
from easyflash.
4.0 在减少 RAM 占用的条件下牺牲了环境变量操作的速度,如果对速度要求苛刻,可以先使用 3.0 版本。
接下来会对 4.0 的速度问题重点优化,如果兴趣欢迎加入进来一起优化。
from easyflash.
我调试了一下发现,每次都会执行如下代码,检测 所有env,这里消耗大部分时间
/* search all ENV /
while ((env->addr.start = get_next_env_addr(§or, env)) != FAILED_ADDR) {
read_env(env);
/ iterator is interrupted when callback return true */
if (callback(env, arg1, arg2)) {
return;
}
}
ENV 缓存在ram中还是有必要
from easyflash.
建议用类型文件系统中的INODE ,维护一张表用来映射数据的地址;alios things 有类型的 K - V storage 机制,不知是不是参考你的项目,本想移植alios 但依赖其本身系统太多,不太好移植
from easyflash.
嗯,这个是一个优化点,你可以先改下试试。
from easyflash.
hi, @TeemoRZ ,最新的版本新加入了缓存机制,查找、写入效率提升非常明显,你可以试试哈~~
from easyflash.
@TeemoRZ 请问这个问题你解决了吗?我也发现这里遍历时特别慢。大约50个env, 需要600ms。我已经用cache feature了。
from easyflash.
Related Issues (20)
- STM32L0系列使用问题 HOT 1
- EF应该不支持STM32H7吧?
- 请问Flash读写会不会有被中断打断的隐患 HOT 9
- V4.0 读取不到,写入时返回为0 HOT 3
- 请教一下我这样用EasyFlash做IAP升级管理是否有问题或隐患? HOT 1
- 3.0.4版本存储的env数据,在版本升级到4.1后,无法使用 HOT 3
- log_index2addr 函数存在隐藏风险,建议优化 HOT 2
- 配合ulog使用读取的时候 ef_log 在临界条件下存在低概率卡死的可能
- ef_log_read word aligned 判断错误 HOT 2
- ef_log: erase sector时发生复位或下电,重启时会丢失所有log HOT 1
- 请问支持 SD卡的FATFS文件系统吗
- The write function should not be called when the log remaining length is 0
- error: The ENV @0x000102213 length has an error ?
- GC 无法解发,四个扇区都是满状态。 HOT 3
- 从3.x迁移到4.1,F401RCT,Freertos,出现Hardfault
- 添加硬件CRC的Port
- log_seq_read读取数据超过1个扇区时,会数据错乱,应修改为
- 啥时候能支持大数据存储啊
- 在环形扇区块第一次跨扇区写入数据时,会有擦除空扇区的情况
- 64bit 写入粒度,计算env_hdr.crc32错误
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easyflash.