{"id":16239821,"url":"https://github.com/nopnop2002/esp-idf-benchmark","last_synced_at":"2025-03-19T16:31:36.548Z","repository":{"id":108987687,"uuid":"387657790","full_name":"nopnop2002/esp-idf-benchmark","owner":"nopnop2002","description":"Dhrystone/Whetstone benchmark for esp-idf","archived":false,"fork":false,"pushed_at":"2025-02-15T09:04:19.000Z","size":55,"stargazers_count":15,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T19:53:09.413Z","etag":null,"topics":["benchmark","dhrystone","esp-idf","esp32","esp8266","whetstone"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nopnop2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-20T03:13:00.000Z","updated_at":"2025-02-15T09:04:22.000Z","dependencies_parsed_at":"2023-12-28T02:43:16.773Z","dependency_job_id":"df8696e8-1366-45c8-8096-d0d3603f534e","html_url":"https://github.com/nopnop2002/esp-idf-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nopnop2002","download_url":"https://codeload.github.com/nopnop2002/esp-idf-benchmark/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006260,"owners_count":20382441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","dhrystone","esp-idf","esp32","esp8266","whetstone"],"created_at":"2024-10-10T13:45:16.157Z","updated_at":"2025-03-19T16:31:36.543Z","avatar_url":"https://github.com/nopnop2002.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp-idf-benchmark\nDhrystone/Whetstone benchmark for esp-idf.   \nI wanted to know the computing power of the ESP32-C3.   \n\n# Dhrystone Benchmark\nI ported from [here](https://github.com/Keith-S-Thompson/dhrystone/tree/master/v2.2).   \n\n# Whetstone Benchmark \nI ported from [here](https://github.com/fm4dd/sbc-benchmarks/tree/master/sbc-bench/src/whetstone).\n\n# Supported versions of frameworks\n\n|Chip|Framework|Versions|\n|:-:|:-:|:-:|\n|ESP8266|ESP8266 RTOS SDK|v3.x|\n|ESP32|ESP-IDF|v5.1|\n|ESP32-S2|ESP-IDF|v5.1|\n|ESP32-S3|ESP-IDF|v5.1|\n|ESP32-C3|ESP-IDF|v5.1|\n|ESP32-C2|ESP-IDF|v5.1|\n|ESP32-C6|ESP-IDF|v5.1|\n|ESP32-H2|ESP-IDF|v5.1|\n\n# Installation for ESP8266\n```\ngit clone https://github.com/nopnop2002/esp-idf-benchmark\ncd esp-idf-benchmark/\nmake menuconfig(*1)\nmake flash monitor\n```\n\n__(*1)__   \nYou have to change this config.   \n![ESP8266_RTOS_SDK ](https://user-images.githubusercontent.com/6020549/129280851-0a7e375d-ae32-40d6-b439-34c0ab54eb98.jpg)\n\n\n# Installation for ESP32\n```\ngit clone https://github.com/nopnop2002/esp-idf-benchmark\ncd esp-idf-benchmark/\nidf.py set-target {esp32/esp32s2/esp32s3/esp32c2/esp32c3/esp32c6/esp32h2}\nidf.py menuconfig\nidf.py flash monitor\n```\n\n\n\n# Compiler Version   \n\n## ESP8266\n```\n$ xtensa-lx106-elf-gcc --version\nxtensa-lx106-elf-gcc (crosstool-NG esp-2020r3-49-gd5524c1) 8.4.0\nCopyright (C) 2018 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n```\n\n## ESP32\n```\n$ xtensa-esp32-elf-cc --version\nxtensa-esp32-elf-cc (crosstool-NG esp-12.2.0_20230208) 12.2.0\nCopyright (C) 2022 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n```\n\n## ESP32-S2\n```\n$ xtensa-esp32s2-elf-cc --version\nxtensa-esp32s2-elf-cc (crosstool-NG esp-12.2.0_20230208) 12.2.0\nCopyright (C) 2022 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n```\n\n## ESP32-S3\n```\n$ xtensa-esp32s3-elf-cc --version\nxtensa-esp32s3-elf-cc (crosstool-NG esp-12.2.0_20230208) 12.2.0\nCopyright (C) 2022 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n```\n\n\n## ESP32-C2/C3/C6/H2\n```\n$ riscv32-esp-elf-cc --version\nriscv32-esp-elf-cc (crosstool-NG esp-12.2.0_20230208) 12.2.0\nCopyright (C) 2022 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n```\n\n\n# Benchmark with Og compile option(default).   \n\n|SoC|Freq(Mhz)|Dhrystone(MIPS)|Whetstone(MIPS)||\n|:-:|:-:|:-:|:-:|:-:|\n|ESP8266|160|57|6.2||\n|ESP32|160|95|10.0||\n|ESP32|240|142|16.7||\n|ESP32S2|160|95|8.3||\n|ESP32S2|240|142|12.5||\n|ESP32S3|160|142|10.0||\n|ESP32S3|240|190|14.3||\n|ESP32C3|160|167|8.3||\n|ESP32C2|120|142|8.3|26MHz XTAL|\n|ESP32C6|160|178|12.5||\n|ESP32H2|96|142|5.3||\n\n![graph1](https://github.com/nopnop2002/esp-idf-benchmark/assets/6020549/c907882e-c9c2-4d6d-88c0-2fce8cf66cd5)\n\n# How to set O2 compile option   \nThe default compile option for esp-idf is Og.   \nCompile options can be changed in the CMakeLists.txt or menuconfig.   \nOn the ESP32, Changing the compile option to [O2] enables [zero-overhead loops].   \nzero-overhead loops can execute a loop with a predetermined number of executions without branching overhead.   \n\n\n# Benchmark with O2 compile option enabled.   \n\n|SoC|Freq(Mhz)|Dhrystone(MIPS)|Whetstone(MIPS)||\n|:-:|:-:|:-:|:-:|:-:|\n|ESP32|160|203|33.3||\n|ESP32|240|316|50.0||\n|ESP32S2|160|178|25.0||\n|ESP32S2|240|283|33.3||\n|ESP32S3|160|237|25.0||\n|ESP32S3|240|356|50.0||\n|ESP32C3|160|407|20.0||\n|ESP32C2|120|356|20.0|26MHz XTAL|\n|ESP32C6|160|474|25.0||\n|ESP32H2|96|237|12.5||\n\n![Image](https://github.com/user-attachments/assets/1d152749-989d-4bd5-8c03-428e1c56203f)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fesp-idf-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopnop2002%2Fesp-idf-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fesp-idf-benchmark/lists"}