Как Вы измеряете блок кода (поток) время выполнения с несколькими параллельными потоками в.NET

Это один из способов сделать это, используя groupby для формирования групп на основе Town, а затем нанести на график price и sales, используя вторичную ось у

fig, ax = plt.subplots(figsize=(8, 6))

df_group = data.groupby('Town')['week','price','sales']

ylabels = ['price', 'sales']
colors =['r', 'g', 'b']

for i, key in enumerate(df_group.groups.keys()):
    df_group.get_group(key).plot('week', 'price', color=colors[i], ax=ax, label=key)
    df_group.get_group(key).plot('week', 'sales', color=colors[i], linestyle='--', secondary_y=True, ax=ax)

handles,labels = ax.get_legend_handles_labels()
legends = ax.legend()
legends.remove()
plt.legend(handles, labels)

ax1.set_ylabel('Price')
ax2.set_ylabel('Sales')

enter image description here

6
задан Davy8 17 December 2008 в 17:16
поделиться

4 ответа

Хм, от ответа Jon Skeet до этого вопроса:

Синхронизируя строку кода точно в потоковом приложении, C#

И также эта статья:

http://lyon-smith.org/blogs/code-o-rama/archive/2007/07/17/timing-code-on-windows-with-the-rdtsc-instruction.aspx

Кажется, что нет никакого простого способа сделать это.

2
ответ дан 17 December 2019 в 07:09
поделиться

Секундомер должен измерить время, проведенное только в одном потоке. Необходимо было бы выполнить отдельный экземпляр на каждом потоке. Это дало бы Вам, вероятно, результаты завершений к тому, что Вы хотите.

Кроме того (предпочтительный вариант, если Вы хотите контролировать целое приложение и не только некоторые методы), существуют различные счетчики производительности, которые можно использовать из поля (они обновляются временем выполнения .NET). Существует большая информация о сети, можно запустить с MSDN: http://msdn.microsoft.com/en-us/library/w8f5kw2e (По сравнению с 71) .aspx

1
ответ дан 17 December 2019 в 07:09
поделиться

Я когда-то решил подобную проблему путем создания обертки для StopWatch, которому отметили экземпляр StopWatch как ThreadStatic.

Кроме того, существуют инструменты, такие как Профилировщик Муравьев, которого можно купить для помощи Вам.

1
ответ дан 17 December 2019 в 07:09
поделиться
0
ответ дан 17 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: