powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Максимальный размер ConcurrentDictionary в 32-битных приложениях
25 сообщений из 196, страница 4 из 8
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39253752
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®,

ничего смешного,
для отжимания процентов лучше c/c++
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39253800
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выносить основную работу в dll ? А как быть с многопоточностью?
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39253829
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Выносить основную работу в dll ? А как быть с многопоточностью?
нет никаких проблем с многопоточностью.

PS эксперименты с выносом счётной части в c/с++ я бы начинал только после написания оного на c#
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39253975
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
те не кажется что это клон стебелька со своими бенчмарками
зы проблема многопоточности и тестировании производительности в разных потоках легко лечится галоперидолом..
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254047
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилэксперименты с выносом счётной части в c/с++ я бы начинал только после написания оного на c#
Да я считаю, что оно уже написано.

По сравнению с использованием ConcurrentDictionary / bool[] время работы улучшилось примерно вдвое, и стала в принципе возможной работа на больших данных, для которой в исходных версиях не хватало памяти.
Дальнейшая оптимизация, по моему разумению, возможна только в направлении накладывания более "узких" блокировок отдельными потоками, чтобы они меньше задерживали друг друга.

Не под .net я писал на C лет 8 назад последний раз в VS98 (dll для Crystal Reports).
Честно говоря, какая технология должна быть сейчас (VS2010 или VS2015), что бы родился не управляемый код, я не знаю.

Где-то в степипроблема многопоточности и тестировании производительности в разных потоках легко лечится галоперидолом
А чем лечится заинтересованность в результатах своего труда и стремление сделать их лучше? По вашей логике, аминазином? Солями лития? Электросудорожной терапией?
Могу, к слову сказать, чем устраняются видения "клонов с бенчмарками". По русской традиции надо перекреститься, а главное устранить источник раздражения. То есть: не интересно вам всё это, так не читайте и не пишите сюда.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254049
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилэксперименты с выносом счётной части в c/с++ я бы начинал только после написания оного на c# С использованием unsafe и указателей.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254050
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Честно говоря, какая технология должна быть сейчас (VS2010 или VS2015), что бы родился не управляемый код, я не знаю.

no comments
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254054
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®,
"Ты играй, моя гитара, Говори ещё." ©
))
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254067
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИзопропилэксперименты с выносом счётной части в c/с++ я бы начинал только после написания оного на c# С использованием unsafe и указателей.
Спасибо, я сразу не понял, что именно это имелось ввиду.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254076
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Алексей Кпропущено...
С использованием unsafe и указателей.
Спасибо, я сразу не понял, что именно это имелось ввиду.
я эту чушь ввиду не имел
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254091
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилAR®пропущено...

Спасибо, я сразу не понял, что именно это имелось ввиду.
я эту чушь ввиду не имелНу если работа с массивами без проверки границ в контексте дефицита процессорных ресурсов - чушь, то Бог тебе судья. :-)
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254095
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу если работа с массивами без проверки границ в контексте дефицита процессорных ресурсов - чушь, то Бог тебе судья. :-)
в случае дефицита процессорных ресурсов применяется с++

jit нынче умеет так? (vector<bool> имеет специализацию, велосипед не нужен)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
while (found < len && s[found] ) found++; // Следующее простое
00007FF795611096  cmp         eax,edi  
00007FF795611098  jge         Eratosfen+0C5h (7FF7956110C5h)  
00007FF79561109A  nop         word ptr [rax+rax]  
00007FF7956110A0  movsxd      rdx,eax  
00007FF7956110A3  mov         rcx,rdx  
00007FF7956110A6  shr         rcx,5  
00007FF7956110AA  lea         r8,[rbx+rcx*4]  
00007FF7956110AE  movzx       ecx,dl  
00007FF7956110B1  and         cl,1Fh  
00007FF7956110B4  movzx       edx,cl  
00007FF7956110B7  mov         ecx,dword ptr [r8]  
00007FF7956110BA  bt          ecx,edx  
00007FF7956110BD  jae         Eratosfen+0C5h (7FF7956110C5h)  
00007FF7956110BF  inc         eax  
00007FF7956110C1  cmp         eax,edi  
00007FF7956110C3  jl          Eratosfen+0A0h (7FF7956110A0h)  
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254100
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не буду втягиваться в срач. Привык на форумах узнавать что-то полезное и делиться полезным.
В ряде задач требуется посчитать вес Хэмминга для числа - количество 1 в его двоичном представлении. Следующий код показал наилучшее время работы среди 7 испытанных вариантов (C# VS2010, wrk - "взвешиваемое" число, bits - результат):
Код: c#
1.
for(bits = 0; wrk != 0; bits++, wrk &= (wrk - 1));



За сим - всё.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254106
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей КНу если работа с массивами без проверки границ в контексте дефицита процессорных ресурсов - чушь, то Бог тебе судья. :-)
в случае дефицита процессорных ресурсов применяется с++

jit нынче умеет так? (vector<bool> имеет специализацию, велосипед не нужен)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
while (found < len && s[found] ) found++; // Следующее простое
00007FF795611096  cmp         eax,edi  
00007FF795611098  jge         Eratosfen+0C5h (7FF7956110C5h)  
00007FF79561109A  nop         word ptr [rax+rax]  
00007FF7956110A0  movsxd      rdx,eax  
00007FF7956110A3  mov         rcx,rdx  
00007FF7956110A6  shr         rcx,5  
00007FF7956110AA  lea         r8,[rbx+rcx*4]  
00007FF7956110AE  movzx       ecx,dl  
00007FF7956110B1  and         cl,1Fh  
00007FF7956110B4  movzx       edx,cl  
00007FF7956110B7  mov         ecx,dword ptr [r8]  
00007FF7956110BA  bt          ecx,edx  
00007FF7956110BD  jae         Eratosfen+0C5h (7FF7956110C5h)  
00007FF7956110BF  inc         eax  
00007FF7956110C1  cmp         eax,edi  
00007FF7956110C3  jl          Eratosfen+0A0h (7FF7956110A0h)  

Головняки с интеграцией C# <=> C++ на пустом месте тоже ни к чему. Нужно искать компромисс, которым вполне может стать unsafe C#. Стоит как минимум упомянуть об этой возможности на совещании по вопросам оптимизации.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254108
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Не буду втягиваться в срач.Тут срачей нет уже лет пять, если не больше.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254130
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,
вообще, разговор нужно начинать для чего, если просто изЪебнуться, то и нативный массив подойдет, вообще контейнеров для коллекций в дот нете написано нисколько десятков тысяч ( что я встречал), вопрос для чего.?
зы да вектор ++ перегружен под bool по темплейту как значение бит , по смысловой идентификации как bitarray, есть доступ по индексу без поверки на выход, есть и at - с проверкой на выход..
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254145
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степивообще контейнеров для коллекций в дот нете написано нисколько десятков тысяч ( что я встречал)И только применение unsafe и указателей позволяет в C# работать с массивами без проверки границ, что позволяет повысить производительность в 1.5 ... 3 раза, приближаясь вплотную к С++. Это по моим наблюдениям на тестах вроде пузырьковой сортировки.
Где-то в степивопрос для чего.?Для снижения процессорной нагрузки, как мне показалось.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254178
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,
куда вы денете уборщик мусора? его то же нах под фиксед?)) если у вас возникла такая проблема то вы выбрали не тот язык
зы хотя я видел что и уборщика посылали нах, в технологии disruptor, java, ну какая разница, ну там хоть перегрузку системы делали раз в сутки.
В два раза из за if - не поверю, тогда бы и народ визжал что this в объектных методах проверяется на( не всегда) нулл
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254625
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степикуда вы денете уборщик мусора? его то же нах под фиксед?))Памяти у нас много. Чё её экономить?
Где-то в степиесли у вас возникла такая проблема то вы выбрали не тот языкИли не те алгоритмы, или не ту архитектуру. Тут проще всего взять, и написать на C++, добавив при этом архитектурного геморроя с интеграциями и необходимостью компиляции под конкретный процессор.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254640
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кдобавив при этом архитектурного геморроя с интеграциями
вряд ли сложнее чем с Direct3D будет
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254662
void33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К,
авторПамяти у нас много. Чё её экономить?
какой памяти? я говорю в контексте быстродействия, причем тут память?
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254745
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей Кдобавив при этом архитектурного геморроя с интеграциями
вряд ли сложнее чем с Direct3D будетМожет быть.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254750
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void33Алексей К,
авторПамяти у нас много. Чё её экономить?
какой памяти?Оперативной.

void33я говорю в контексте быстродействия, причем тут память?При том, что сборка мусора вообще может не произойти. Всякое может быть.
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254777
void33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К,
авторПри том, что сборка мусора вообще может не произойти. Всякое может быть
хоспади, да оставьте вы котов шредингеру, вашей с.. сотировки пузырьком может и ваще не понадобиться, есть куча стандартных решений.
уборка мусора и оперативная память гы гы, более убогой ассоциации и не придумаешь, может вы еще свяжете
оutоfмemory и оперативную память?
...
Рейтинг: 0 / 0
Максимальный размер ConcurrentDictionary в 32-битных приложениях
    #39254787
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void33Алексей К,
авторПри том, что сборка мусора вообще может не произойти. Всякое может быть
хоспади, да оставьте вы котов шредингеру, вашей с.. сотировки пузырьком может и ваще не понадобиться, есть куча стандартных решений.
уборка мусора и оперативная память гы гы, более убогой ассоциации и не придумаешь, может вы еще свяжете
оutоfмemory и оперативную память?Не вижу почвы для беспокойства. Я всего лишь предложил перед отказом от C# в пользу C++ окончательно убедиться в том, что все возможности C# были полностью использованы, что переход на C++ действительно оправдан.
...
Рейтинг: 0 / 0
25 сообщений из 196, страница 4 из 8
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Максимальный размер ConcurrentDictionary в 32-битных приложениях
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]