История изменений
Исправление a--, (текущая версия) :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания (и убывания?) каждого поля, вычисляя какой-то очень быстрый некриптографический хэш от последовательности тех элементов, которые мы посетили
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
P.S. вот кстати простенький бенч в 5 строк для форума, чтобы не тащить либу, можно еще его подзавернуть в класс, но мне пока лень
static inline uint64_t getTimeInNanos() {
return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now().time_since_epoch()).count();
}
#define START_BENCH std::vector<uint64_t> bench_time{}; std::vector<const char*> bench_code{}; bench_time.push_back(getTimeInNanos());
#define BENCH(code) bench_code.push_back(#code); code; bench_time.push_back(getTimeInNanos());
#define END_BENCH for( int k=0; k<bench_code.size(); ++k ) { std::cout << int((bench_time[k+1]-bench_time[k])/1e6) << " ms for:\t" << bench_code[k] << "\n"; }
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания (и убывания?) каждого поля, вычисляя какой-то очень быстрый некриптографический хэш от последовательности тех элементов, которые мы посетили
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
P.S. вот кстати простенький бенч в 3 строчки для форума, чтобы не тащить либу, можно еще его подзавернуть в класс, но мне пока лень
#define START_BENCH std::vector<uint64_t> bench_time{}; std::vector<const char*> bench_code{}; bench_time.push_back(getTimeInNanos());
#define BENCH(code) bench_code.push_back(#code); code; bench_time.push_back(getTimeInNanos());
#define END_BENCH for( int k=0; k<bench_code.size(); ++k ) { std::cout << int((bench_time[k+1]-bench_time[k])/1e6) << " ms for:\t" << bench_code[k] << "\n"; }
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания (и убывания?) каждого поля, вычисляя какой-то очень быстрый некриптографический хэш от последовательности тех элементов, которые мы посетили
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания каждого поля, вычисляя какой-то очень быстрый некриптографический хэш от последовательности тех элементов, которые мы посетили
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания каждого поля, вычисляя какой-то очень быстрый некриптографичиский хэш от последовательности тех элементов, которые мы посетили
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания каждого поля, вычисляя какой-то очень быстрый некриптографичиский хэш от тех элементов, которые мы посетили
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав — следует что-то предъявить со стороны списков
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания каждого поля, вычисляя какой-то быстрый некриптографичиский хэш
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
Исправление a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку возрастания каждого поля, вычисляя какой-то быстрый некриптографичиский хэш
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах
Исходная версия a--, :
что значит не буду? тогда засчитаем поражение техническим нокаутом.
не-не, так не годится, khrundel тут прав
я предлагаю сделать тест на основе вставки 10К...100К значений (чтобы в кэш влезло) в тот прошитый список Rust и двусвязный список (комментарий) и затем его обхода по порядку каждого поля, вычисляя какой-то быстрый некриптографичиский хэш
для простоты вместо строк там будут инт32
оценивать будем как скорость, так и выразительность кода
если всем будет лень, я сделаю на плюсах