Skip to content

Host tests: LittleFS SpeedTest SIGFPE (Floating point exception) #8339

Closed
@mcspr

Description

@mcspr

Running 40b26b7

> cd host/tests
> make ../../libraries/LittleFS/examples/SpeedTest/SpeedTest
> ./bin/SpeedTest/SpeedTest
SPIFFS: 1048576 bytes
SPIFFS: loading 1048576 bytes from './bin/SpeedTest/SpeedTest-spiffs1024KB'
LittleFS: 1048576 bytes
LittleFS: loading 1048576 bytes from './bin/SpeedTest/SpeedTest-littlefs1024KB'
Beginning test
Creating 512KB file, may take a while...
==> Time to write 512KB in 256b chunks = 2 milliseconds
==> Created file size = 524288
Reading 512KB file sequentially in 256b chunks
==> Time to read 512KB sequentially in 256b chunks = 1 milliseconds = 524288000 bytes/s
Reading 512KB file MISALIGNED in flash and RAM sequentially in 256b chunks
fish: './bin/SpeedTest/SpeedTest' terminated by signal SIGFPE (Floating point exception)

stop - start can be 0

Program received signal SIGFPE, Arithmetic exception.
0x000055555555917c in DoTest (fs=0x5555555874f0 <LittleFS>) at ./../../libraries/LittleFS/examples/SpeedTest//SpeedTest.ino:75
75        Serial.printf("==> Time to read %dKB sequentially MISALIGNED in flash and RAM in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);

There are more offending lines though

Serial.printf("==> Time to read %dKB sequentially in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);

Serial.printf("==> Time to read %dKB sequentially MISALIGNED in flash and RAM in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);

Serial.printf("==> Time to read %dKB in reverse in 256b chunks = %ld milliseconds = %ld bytes/s\n", TESTSIZEKB, stop - start, TESTSIZEKB * 1024 / (stop - start) * 1000);

Serial.printf("==> Time to write 64KB in 1b chunks = %ld milliseconds = %ld bytes/s\n", stop - start, 65536 / (stop - start) * 1000);

Serial.printf("==> Time to read 64KB in 1b chunks = %ld milliseconds = %ld bytes/s\n", stop - start, 65536 / (stop - start) * 1000);

I suppose there should be a helper function for example(s) or the tests specifically that handles time tracing instead of manual approach like this

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions