Size: a a a

2020 July 22

DF

Dollar Føølish in supapro.cxx
Хех
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Denis Paukaev
return (..., ((result += ':') += ts)), result;


так лучше?)
Лучше
источник

s

std::slavik in supapro.cxx
tamtakoe
Я правильно понимаю, что при сортировке вектора или дэка элементы в памяти никуда не сдвигаются, а только меняются ссылки между ними? Т.е. грубо говоря сортировка строк займет то же время, что и сортировка указателей на строки?
источник

s

std::slavik in supapro.cxx
источник

s

std::slavik in supapro.cxx
в кликхаусе вон юзают флэтбуфферы(хз правда для чего именно) - в очередной раз рекомендую посмотреть на его API List)
источник

s

std::slavik in supapro.cxx
https://google.github.io/flatbuffers/flatbuffers_benchmarks.html
это практически raw structs, ну и то что их в геймдеве используют должно наводить на мысли что с производительностью это как-то связано и о ней подумали и люди смотрят и кэшмисы и спинлоки и тд
источник

s

std::slavik in supapro.cxx
https://engineering.fb.com/android/improving-facebook-s-performance-on-android-with-flatbuffers/
Conclusion
FlatBuffers is a data format that removes the need for data transformation between storage and the UI. In adopting it, we have also driven additional architectural improvements in our app like Flat Models. The mutation extensions that we built on top of FlatBuffers allow us to track server data, mutations, and local state all in a single structure, which has allowed us to simplify our data model and expose a unified API to our UI components.

In last six months, we have transitioned most of Facebook on Android to use FlatBuffers as the storage format. Some performance improvement numbers include:

Story load time from disk cache is reduced from 35 ms to 4 ms per story.
Transient memory allocations are reduced by 75 percent.
Cold start time is improved by 10-15 percent.
We have reduced storage size by 15 percent.
It’s exciting to see a choice in data format allow people to spend just a little more time reading their friends’ updates and seeing photos of their families. Thanks, FlatBuffers!
источник

t

tamtakoe in supapro.cxx
Сравнил производительность... У меня депрессия
Convert JS -> C++ data: 1177
C++ Groupping: 304
Convert C++ -> JS data: 929
----
C++ addon duration, ms: 2571.0580009818077
JS duration, ms: 32.3115000128746
Даже без учета конвертации данных сам алгоритм на JS в 10 раз быстрее работает! В 10 раз, Карл! Что не так с этим С++?)
источник

Е

Егор in supapro.cxx
tamtakoe
Сравнил производительность... У меня депрессия
Convert JS -> C++ data: 1177
C++ Groupping: 304
Convert C++ -> JS data: 929
----
C++ addon duration, ms: 2571.0580009818077
JS duration, ms: 32.3115000128746
Даже без учета конвертации данных сам алгоритм на JS в 10 раз быстрее работает! В 10 раз, Карл! Что не так с этим С++?)
В релизе тестили?
источник

DP

Denis Paukaev in supapro.cxx
tamtakoe
Сравнил производительность... У меня депрессия
Convert JS -> C++ data: 1177
C++ Groupping: 304
Convert C++ -> JS data: 929
----
C++ addon duration, ms: 2571.0580009818077
JS duration, ms: 32.3115000128746
Даже без учета конвертации данных сам алгоритм на JS в 10 раз быстрее работает! В 10 раз, Карл! Что не так с этим С++?)
Руки которые на цпп писали видимо
источник

t

tamtakoe in supapro.cxx
Егор
В релизе тестили?
Не, на локальной машине только. Какой релиз с такими данными?
источник

Е

Егор in supapro.cxx
tamtakoe
Не, на локальной машине только. Какой релиз с такими данными?
Тип билда - релиз
источник

AK

Anton Kviatkovskii in supapro.cxx
tamtakoe
Сравнил производительность... У меня депрессия
Convert JS -> C++ data: 1177
C++ Groupping: 304
Convert C++ -> JS data: 929
----
C++ addon duration, ms: 2571.0580009818077
JS duration, ms: 32.3115000128746
Даже без учета конвертации данных сам алгоритм на JS в 10 раз быстрее работает! В 10 раз, Карл! Что не так с этим С++?)
Классика сравнений
источник

IG

Ivan Grekov in supapro.cxx
tamtakoe
Сравнил производительность... У меня депрессия
Convert JS -> C++ data: 1177
C++ Groupping: 304
Convert C++ -> JS data: 929
----
C++ addon duration, ms: 2571.0580009818077
JS duration, ms: 32.3115000128746
Даже без учета конвертации данных сам алгоритм на JS в 10 раз быстрее работает! В 10 раз, Карл! Что не так с этим С++?)
V8 код разогрел, скорее всего, вот и производительность такая на JS
источник

t

tamtakoe in supapro.cxx
Егор
Тип билда - релиз
Так это под ноду сборка, там сразу релиз
источник

IG

Ivan Grekov in supapro.cxx
tamtakoe
Так это под ноду сборка, там сразу релиз
А это вызов аддона С++ из ноды?
источник

t

tamtakoe in supapro.cxx
Denis Paukaev
Руки которые на цпп писали видимо
источник

t

tamtakoe in supapro.cxx
Ivan Grekov
А это вызов аддона С++ из ноды?
Ага. Но конкретно время замерял в самом аддоне. Т.е. 300 мс против 30 это чистое время выполнения алгоритма без учены накладных расходов
источник

Е

Егор in supapro.cxx
а код бенчей глянуть можно?
источник

IG

Ivan Grekov in supapro.cxx
tamtakoe
Ага. Но конкретно время замерял в самом аддоне. Т.е. 300 мс против 30 это чистое время выполнения алгоритма без учены накладных расходов
Тогда отдельно С++ профилировать нужно и алгоритм оптимизировать.
источник