powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / на что хоть нарвался?
25 сообщений из 119, страница 1 из 5
на что хоть нарвался?
    #38135377
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
                        nproc = nTreeNodeDicSpecifId[specificid].ToList();
                        List<Guid> links = nproc.SelectMany(n => n.proc.proc_outlink).Select(s => s.linkid).Distinct().ToList();
                        nodes = nproc.Where(n => (n.proc.proc_inlink.Count() == 0) || (n.proc.proc_inlink.Select(inl => inl.linkid).Intersect (links).Count() == 0)).ToList();



эти срочки выключают мой ноут без предупреждения, в собтиях- неожиданное отключение и все.
В nproc - порядка по 250 000 inlinks и outlinks.
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135404
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, на что, на что, на быдлокод и говнореализацию, вот на что. Переписывать надо, фигли.
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135406
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos
Код: c#
1.
2.
3.
                        nproc = nTreeNodeDicSpecifId[specificid].ToList();
                        List<Guid> links = nproc.SelectMany(n => n.proc.proc_outlink).Select(s => s.linkid).Distinct().ToList();
                        nodes = nproc.Where(n => (n.proc.proc_inlink.Count() == 0) || (n.proc.proc_inlink.Select(inl => inl.linkid).Intersect (links).Count() == 0)).ToList();



эти срочки выключают мой ноут без предупреждения, в собтиях- неожиданное отключение и все.
В nproc - порядка по 250 000 inlinks и outlinks.

На ламера, который не знает как готовить linq

nproc = nTreeNodeDicSpecifId[specificid].ToList(); // ToList совершенно не нужен. Без него не будет сотен тысяч добавление в list c выделением памяти. На таких объемах - это полные тормоза
List<Guid> links = nproc.SelectMany(n => n.proc.proc_outlink).Select(s => s.linkid).Distinct().ToList(); // аналогично. За это нужно бить линейкой по рукам
Вместо (n.proc.proc_inlink.Count() == 0) должен быть (!n.proc.proc_inlink.Any())
|| заменить на Union
etc
etc
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135415
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть вы думаете что объем вычислений вырубает комп?
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135416
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosто есть вы думаете что объем вычислений вырубает комп?Да. Перегревается. Радиаторы пропылесосить надо.
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135419
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

точно, я так и думал
даже машина говнокод не принимает блин
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135436
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахват, ты жжешь однако. Пиши лучше на датасета, софт будет безопаснее :)
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135440
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

lя так и пишу кругом форичы
а тут решил посмотреть как скрость линк отличается от форичов
я даже не знал что там есть Any и т.д. их оказывается дофига и больше
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135441
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ,

lя так и пишу кругом форичы
а тут решил посмотреть как скрость линк отличается от форичов
я даже не знал что там есть Any и т.д. их оказывается дофига и больше
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135444
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

точно, я так и думал
даже машина говнокод не принимает блин

А это ты, Сахават, решил linq применить ;-) На таких объемах нужна оптимизация и понимание принципов linq. Посмотри оператор yield и для чего он нужен , тк весь linq на нем
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135445
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават, так глядишь скоро и ORM понравится, когда начнешь "копать" ;)
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135447
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все эти Any, Union, var, IEnumerable вместо List нифига не дали в плане скорости комп так и валится
фигня этот линк
как и думал дармовщины нет
хотелось большой кусок кода - где каждый терминальный узел помечается при создании графа, при уничтожении терминальных узлов назначаются другие, ведутся индексы по узлам и т.д. которая работает пулей), написать красивый кот в одну стоочку ;)
фигушки
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135448
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СЛ выручает оптимизатор и индексы со статистикой, а линк инвали на голову
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135449
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СЛ = СКЛ
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135457
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
счас купнусь и почитаю что за елда
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135467
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaViPRosАлексей К,

точно, я так и думал
даже машина говнокод не принимает блин

А это ты, Сахават, решил linq применить ;-) На таких объемах нужна оптимизация и понимание принципов linq. Посмотри оператор yield и для чего он нужен , тк весь linq на нем
С Листами ты не прав оказался, я интутивно подумал, что лучше промежуточные вычисления делать один раз и зафиксировать
без это линк каждый раз запускает елду для вложенного запроса
ФИГНЯ
или я че то не понял?
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135476
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

как то тестировал Linq и for между собой. какова цена более лёгкого написания кода

сравнивал по скорости на простом запросе типа select * from where a1<... and a2<...
ну типа :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
       class zzz
       {    public int Col1, Col2;    
       }
        int meth_link(zzz[] Z, int a1, int a2)
        {
            var v = Z.Where(x => x.Col1 < a1 && x.Col1 > a2 && x.Col2 < a2).ToArray();
            return v.Length;
        }


и сравнивал тот же массив , но без линка
и 2 отдельных массива int

размер массивов 9.500.000 элементов

1)для массива zzz[]
For Class Total time =0,122006975

2)два целочисленных массива
For 2array Total time =0,084504825

3)тоже самое , но в с++
c++ Total time =0,053003025

4)
LINQ Total time =0,2920167

Результат
For/Linq 3,37425165207618
linq/cpp 5,26635631052809
c#/cpp 1,56074793866892

обычный массив zzz в 2.3 раза быстрее линка
ну а с++ аж в 5 раз.
и это на простом select
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135478
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собсна тест прога
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135479
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-er,

ну я и говорю что говно, а при больших данных воще не пашет
а про Лист Сева наврал
все промежуточные расчет надо зафиксировать
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135481
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а на днях попался с TryGetValue
кругом рекомендации, типа это говно быстрее, чем Contains и присовение
вранье полное
GC убивает все рекомендации на корню


эт я типа решил прогу пересмотреть и оптимизировать код с помощью нововведений
нах
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135482
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вывод (промежутоное мое мнение (С))
линк важно там, где комп не пылесосили года 3, так как линк не дает процу работать свыше 90% мощности :)
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135483
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosну я и говорю что говно
ну на маленьких размерах ещё ничё так.
хотя linq join это песня.
на скорость не тестировал, но думаю там ещё веселее будет.
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135484
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRos, на что, на что, на быдлокод и говнореализацию, вот на что. Переписывать надо, фигли.
насчет быдлокод - согласен
а реализаций - наверное штук 10, начиная от чисто СКЛ и кончая от чисто за счет структур и индексов в памяти
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135485
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-er,

я думал самое говно в с# - рекурсии, линк превзошел рекурсию
...
Рейтинг: 0 / 0
на что хоть нарвался?
    #38135492
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Просто, у linq своя ниша.

Какая у вас СУБД?

А что вы делаете с графом? В Oracle есть часть в Oracle Spatial, называется Network Data Model, PL/SQL и Java API для обработки данных. Там есть всякие реализованные алгоритмы типа поиск минимального пути на основе весов ребер/вершин и т. п.. Чем примечательно Java API, для него можно в СУБД после заливки сети создать разбиение всего графа на куски (хранятся в lob'ах) и это Java API походу работы алгоритма подгружает прозрачн для программиста только необходимые куски за один присест (в случае есл разбиение было создано).

Может посмотреть в сторону такого направления?
...
Рейтинг: 0 / 0
25 сообщений из 119, страница 1 из 5
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / на что хоть нарвался?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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