LINUX.ORG.RU

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

Исправление snizovtsev, (текущая версия) :

Вычисление MPHF медленнее, конечно. Но оно состоит из похожих операций, правда не перестановки, а группировки элементов по хешу. Я не записал время операций в блокнотик прежде чем рефакторить всё это, но ирония была в том, что однопоточное построение MPHF (сложный алгоритм) по времени, кажется, получалось сравнимо с тупой перестановкой 17GB из-за cache miss. Т.е. 2х кратно увеличивалось время обработки на банальной перестановке элементов.

Собственно спрашиваю «исследована ли эта тема» ещё потому, что может я зря упарываюсь делать это всё руками на C++ (ещё и через страшный Apache Arrow C++ API), и в каком-нибудь clickhouse всё это можно сделать эффективно из коробки правильным sql.

Исправление snizovtsev, :

Вычисление MPHF медленнее, конечно. Но оно состоит из похожих операций, правда не перестановки, а группировки элементов по хешу. Я не записал время операций в блокнотик прежде чем рефакторить всё это, но ирония была в том, что однопоточное построение MPHF (сложный алгоритм) по времени, кажется, получалось сравнимо с тупой перестановкой 17GB из-за cache miss. Т.е. 2х кратно увеличивалось время обработки на банальной перестановке элементов.

Собственно спрашиваю «исследована ли эта тема» ещё потому, что может я зря упарываюсь делать это всё руками на C++ (ещё и через страшный Apache Arrow C++ API), и в каком-нибудь clickhouse всё это можно сделать эффективнее правильным sql.

Исправление snizovtsev, :

Вычисление MPHF медленнее, конечно. Но оно состоит из похожих операций, правда не перестановки, а группировки элементов по хешу. Я не записал время операций в блокнотик прежде чем рефакторить всё это, но ирония была в том, что однопоточное построение MPHF (сложный алгоритм) по времени, кажется, получалось сравнимо с тупой перестановкой 17GB из-за cache miss.

Собственно спрашиваю «исследована ли эта тема» ещё потому, что может я зря упарываюсь делать это всё руками на C++ (ещё и через страшный Apache Arrow C++ API), и в каком-нибудь clickhouse всё это можно сделать эффективнее правильным sql.

Исправление snizovtsev, :

Вычисление MPHF медленнее, конечно. Но оно состоит из похожих операций, правда не перестановки, а группировки элементов по хешу. Я уже продолбал время операций прошлой рабочей версии, но ирония была в том, что однопоточное построение MPHF (сложный алгоритм) по времени, кажется, получалось сравнимо с тупой перестановкой 17GB из-за cache miss.

Собственно спрашиваю «исследована ли эта тема» ещё потому, что может я зря упарываюсь делать это всё руками на C++ (ещё и через страшный Apache Arrow C++ API), и в каком-нибудь clickhouse всё это можно сделать эффективнее правильным sql.

Исправление snizovtsev, :

Вычисление MPHF медленнее, конечно. Но оно состоит из похожих операций, правда не перестановки, а группировки элементов по хешу.

Собственно спрашиваю «исследована ли эта тема» ещё потому, что может я зря упарываюсь делать это всё руками на C++ (ещё и через страшный Apache Arrow C++ API), и в каком-нибудь clickhouse всё это можно сделать эффективнее правильным sql.

Исходная версия snizovtsev, :

Вычисление медленнее, конечно. Но оно состоит из похожих операций, правда не перестановки, а группировки элементов по хешу.

Собственно спрашиваю «исследована ли эта тема» ещё потому, что может я зря упарываюсь делать это всё руками на C++ (ещё и через страшный Apache Arrow C++ API), и в каком-нибудь clickhouse всё это можно сделать эффективнее правильным sql.