All streams
Search
Write a publication
Pull to refresh
9
0
Колесников Роман @x512

User

Send message
Я так понял, что они реализуют часть функционала WebEssentials внутри VS
1)По последнему видео от разработчиков www.youtube.com/watch?v=wWfpAY4c3dg&list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF&index=0 примерно после 36 минуты говорится, что большинство рутинных операций для сборки frontend будут доступно без gulp. Можете прокомментировать?
2)Тут хотелось бы еще услышать про компиляцию TypeScript. Как её лучше делать — через gulp, .tsproject или будут встроенные средства в VS. Есть ли примеры на эту тему?
Увы, но целый ряд советов уже неактуален в современных условиях. Например, совет «Никогда не пользуйтесь автоматическим выравниванием кода.» за одно нажатие исправляется автоформаттерами кода. В современных условиях видится необходимость в новых и креативных методах обфускации кода!
Тут вся соль оптимизирующего компилятора! Он в начале загнал сравниваемые числа в регистры esi и edx, сравнивает и двумя последними mov меняет их местами
01322E26 cmp esi,edx
01322E28 jle 01322E32
01322E2A mov dword ptr [edi+ebx*4+8],esi
items[i] = tmp;
01322E2E mov dword ptr [edi+ecx*4+8],edx
А вы пробовали вместо 10000 использовать items.Length?
Я попробовал, ничего не поменялось в этом случае
Скомпилил C# на 15 студии, на платформе 32. Как видите, все стало значительно лучше. Может быть, на 64 еще лучше будет.

for (int i = 0; i < items.Length; i++)
01322DFE xor ecx,ecx
for (int i = 0; i < items.Length; i++)
01322E00 mov eax,dword ptr [edi+4]
01322E03 mov dword ptr [ebp-10h],eax
01322E06 test eax,eax
01322E08 jle 01322E3E
for (int j = i; j < items.Length; j++)
01322E0A mov ebx,ecx
01322E0C cmp dword ptr [ebp-10h],ecx
01322E0F jle 01322E38
01322E11 mov eax,dword ptr [edi+4]
01322E14 mov dword ptr [ebp-14h],eax
{
if (items[i] > items[j])
01322E17 mov esi,dword ptr [edi+ecx*4+8]
01322E1B mov eax,dword ptr [ebp-14h]
01322E1E cmp ebx,eax
01322E20 jae 01322E46
01322E22 mov edx,dword ptr [edi+ebx*4+8]
01322E26 cmp esi,edx
01322E28 jle 01322E32
01322E2A mov dword ptr [edi+ebx*4+8],esi
items[i] = tmp;
01322E2E mov dword ptr [edi+ecx*4+8],edx
for (int j = i; j < items.Length; j++)
01322E32 inc ebx
01322E33 cmp dword ptr [ebp-10h],ebx
01322E36 jg 01322E17
for (int i = 0; i < items.Length; i++)
01322E38 inc ecx
01322E39 cmp dword ptr [ebp-10h],ecx
01322E3C jg 01322E0A
Понятно, тогда было бы интересно узнать что изменилось за 5 лет и не сократился ли разрыв между ними?
ЗЫ: Есть только указание на .Net 4.5 64, а, как известно, 64 битная платформа была значительно оптимизирована в .Net 4.6
По-хорошему это даже не сравнение языков C# vs C++, а сравнение оптимизирующих компиляторов. А если быть точным то сравнение традиционного и JIT компилятора. Посему непонятно, где указаны конкретные версии компиляторов и их настройки?
У вас по Tab активность переходит к результатам поиска, однако если перейти на следующую страницу с помощью Ctrl+->, то снова становиться активной строка поиска. Неужели вы думаете, что пользователь переходит на следующую страницу результатов поиска, чтобы изменить текст запроса?
деление на заголовочники и cpp файлы это еще не самое страшное зло. Самое страшное зло — это отсутствие такого деления в свете шаблонов)))
эх… а я надеялся, что он то уж точно знает, когда будут модули
Пока не до конца, но думаю это дело времени. На клиенте minimongo это не Mongo. Вы можете писать запросы как в sql, а то, что в качестве нижележащего хранилища используется minimongo — это уже детали реализации.
Нет, думаю к ядру твердотельного моделирования это не имеет отношения
кандидат — Game.cpp? мне он отличился даже не комментариями, а тем, что все процедуры на страничку умещаются + стиль
количество выделенных элементов (а следовательно QPersistentIndex-ов) у меня может быть очень значительно — сотня-другая элементов запросто, а то и под тысячу. Я нас конструкторская программа и пользователь может на 3d модели выделять для редактирования значительное количество элементов и выделенные элементы должны быть выделенными и в дереве
нужно, но сколько бы ни было изменений сравнение пройдет лишь раз по дереву. В моем случае, при количестве узлов в пределах 20-30 тысяч это происходит очень быстро. А изменение данных происходит через emit dataChanged(QModelIndex(), QModelIndex()); по окончанию синхронизации
если в дереве мало изменений, то синхронизация отработает быстро даже для сравнительно большого дерева, ну а если изменений много, то тут уж ничего не поделаешь
Согласен, но иногда эти изменения могут иметь значения, если обновлений достаточно много, т.к. rowsInserted/RowsDeleted каждый раз обновляют весь список QPersistenIndex-ов на модель. И если у меня будет десяток тысяч обновлений внутри скрытого узла, то это добавит лишнюю, хоть и незначительную задержку (у меня так происходит во время работы пользовательских скриптов). В моем же случае если все эти изменения происходят внутри скрытого узла — то модель не получит ни единого обновления.

Information

Rating
Does not participate
Location
Коломна, Москва и Московская обл., Россия
Date of birth
Registered
Activity