Почему мой цинтон SPMC на 1000 раз медленнее, чем C ++ SPMC [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему мой цинтон SPMC на 1000 раз медленнее, чем C ++ SPMC [закрыто]

Сообщение Anonymous »

Вот мои коды:
c ++ версия:
https://github.com/river-walras/spmc
Cython version:
https://github.com/river-balras/pras/ph ... s/phras/py>
/> Cython выполняет на 1000x медленнее, чем версия C ++, даже при освобождении потока в Python 3.14. Что может быть причиной?

Код: Выделить всё

tid: 0, drop cnt: 1446, latency stats:
cnt: 998554
min: 220
max: 11061
first: 1112
mean: 299
sd: 190.407
1%: 231
10%: 250
50%: 271
90%: 301
99%: 1303

tid: 1, drop cnt: 1835, latency stats:
cnt: 998165
min: 130
max: 63141
first: 621
mean: 237
sd: 957.794
1%: 160
10%: 160
50%: 171
90%: 201
99%: 1412

tid: 2, drop cnt: 1925, latency stats:
cnt: 998075
min: 220
max: 38424
first: 751
mean: 308
sd: 473.312
1%: 240
10%: 250
50%: 271
90%: 301
99%: 1323

tid: 3, drop cnt: 2151, latency stats:
cnt: 997849
min: 220
max: 34717
first: 762
mean: 303
sd: 412.415
1%: 231
10%: 241
50%: 271
90%: 301
99%: 1252
< /code>
и версия цинтона: < /p>
Testing with 1000000 messages
tid: 0, drop cnt: 786432, latency stats:
cnt: 213568
min: 1413808
max: 34957987
first: 4866479
mean: 7612944.98
sd: 7608665.67
1%: 1975691
10%: 4008170
50%: 4665396
90%: 23275128
99%: 34352802

tid: 1, drop cnt: 884736, latency stats:
cnt: 115264
min: 3534657
max: 47702674
first: 6807774
mean: 16362182.09
sd: 14928017.48
1%: 3661038
10%: 4155491
50%: 5243419
90%: 39732861
99%: 47469068

tid: 2, drop cnt: 688128, latency stats:
cnt: 311872
min: 2430700
max: 173100199
first: 4118632
mean: 8737666.21
sd: 25998000.19
1%: 2811245
10%: 3435237
50%: 4406701
90%: 5558290
99%: 167287795

tid: 3, drop cnt: 524288, latency stats:
cnt: 475712
min: 2422354
max: 595140909
first: 22502532
mean: 5223510.83
sd: 3039542.57
1%: 3209767
10%: 3668132
50%: 4560705
90%: 6790321
99%: 17879648
желаемое поведение : цель, чтобы производительность кода цинтона составила 50-70% эквивалентного кода C ++.
Задача: Потеря данных происходит в версии цинтона, вероятно, из-за медленной скорости чтения и высокой латентности. Код доступен на GitHub.

Подробнее здесь: https://stackoverflow.com/questions/797 ... han-c-spmc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»