Наткнулся случайно на бенч)
Ну по классике конечно, чел пишет на си, и написал бенчи на остальные языки, и накосячил сильно, видимо изучал си и раст, ибо на этих языках норм написал но я думаю есть куда расти. А вот в плюсах накосячил жестко) а в го совсем смертоносно))
Такой результат у меня был с его кодом:
Benchmark Results:
+--------+-------------------------------+------------------+
| Rank | Language (Compiler Version) | Execution Time |
+========+===============================+==================+
| 1 | C (Clang) 18.1.8 | 0.1200s |
+--------+-------------------------------+------------------+
| 2 | Rust (1.82.0) | 0.1220s |
+--------+-------------------------------+------------------+
| 3 | C++ (Clang++) 18.1.8 | 0.1660s |
+--------+-------------------------------+------------------+
| 4 | C (GCC) 13.2.1 | 0.1690s |
+--------+-------------------------------+------------------+
| 5 | C++ (G++) 13.2.1 | 0.1770s |
+--------+-------------------------------+------------------+
| 6 | Go (1.23.3) | 0.9350s |
+--------+-------------------------------+------------------+
Я переписал на плюсах так, чтобы это было в логике похоже как это в сях у него (в сях у него обьект на стеке а в плюсах он в кучу поместил так еще и в юиники завернул, двойные разыменования, накладные..., и не знает что std::array и так зануляет, двойное зануление с помощью std::fill сделал)
С моими правками получилась такая картина:
Benchmark Results:
+--------+-------------------------------+------------------+
| Rank | Language (Compiler Version) | Execution Time |
+========+===============================+==================+
| 1 | C++ (Clang++) 18.1.8 | 0.0000s |
+--------+-------------------------------+------------------+
| 2 | C++ (G++) 13.2.1 | 0.0600s |
+--------+-------------------------------+------------------+
| 3 | Rust (1.82.0) | 0.1220s |
+--------+-------------------------------+------------------+
| 4 | C (Clang) 18.1.8 | 0.1280s |
+--------+-------------------------------+------------------+
| 5 | C (GCC) 13.2.1 | 0.1700s |
+--------+-------------------------------+------------------+
| 6 | Go (1.23.3) | 0.8960s |
+--------+-------------------------------+------------------+
Даже си проиграл, но тут я думаю что просто бенч на сях плохо написан.
Моя правка:
2 минуты
30 ноября 2024