Я сделал две реализации: одну на C++ и одну на Python. Последний работает лучше: я хотел бы получить ту же скорость в C++.
Однако есть одно ограничение: никакое улучшение не может быть сделано в способе хранения данных, а только в способе выполнения вычислений.
Код C++ следующий:
Код: Выделить всё
#include
#include
#include
#include
#include
using namespace std;
using namespace std::chrono;
int main() {
size_t jmax = 700;
size_t kmax = 100000;
vector C(jmax + 1, vector(kmax));
vector b(jmax + 1);
random_device rd;
mt19937 gen(rd());
uniform_real_distribution dist_b(5.0, 10.0);
uniform_real_distribution dist_C(-1.0, 1.0);
// fake b and C
for (size_t j = 0; j
Подробнее здесь: [url]https://stackoverflow.com/questions/79798652/scalar-product-c-vs-python[/url]
Мобильная версия