LINUX.ORG.RU

История изменений

Исправление 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

оценивать будем как скорость, так и выразительность кода

если всем будет лень, я сделаю на плюсах