с исходниками для меня всё плохо, я чужой код совсем не понимаю, так как у меня в голове всё строится от идеи, а её реализация в голове у меня никогда не задерживается, когда читаю чужое просто не понимаю это нагромождение кода, особенно когда используют твики или хитрые приёмы. (недавно тут же читал статью про то как формировались уровни в Pifall, тот кто в этом разобрался для меня уровня - Бог)
Да, я про Watcom и хотел спросить следом, а вы уже и ответ написали.
Было бы интересно разобраться с аппаратными функциями CGA/EGA/VGA и VESA. Это я в целом, о своих планах.
На ютубе есть дядя https://www.youtube.com@The8BitGuyу него своя игра портирована на кучу ПК, включая i8088 DOS в разных графических режимах. Но он не рассказывал на чем пишет.
Вот смотрите, у вас ОС Windows, вы её написали. Кода на 1 млн страниц, а производительной ВСЕЙ системы определяется тем как именно в самой первой строке кода произошло присваивание eof, не скорость запуска системы, не скорость выполнения какого-то участка кода, а скорость работы вообще всей ОС. Вам не кажется, что ваше открытие тут ничего не значит?
Это поведение в стиле капитана очевидности, так как вся информация не подкрепленная фактами является голословной, для этого не требуется от вас никаких сообщений. Вы же попросили еще и код, хотя я неоднократно уже заявил что его не предоставлю.
Сейчас мы НЕ доказываем что код меняется на 40% производительности, мы показываем суть моего треда - при синонимичном изменении кода меняется состав инструкций ЦПУ в конечном коде. Важно именно это, а не сколько там скушает mov.
у меня нет задачи сделать вас своим адептом, но !!!! все, кто пользуется C# не на уровне "Hello World!" знают, что ассемблерный код может очень сильно меняться при несущественных изменениях в программе, просто я лично не ожидал, что эти изменения могут быть практически фатальными для производительности. Я привык, что компилятор умнее меня с точки зрения оптимизации, я это видел и вижу при работе с MOS 6502, с 8088/80386, во всяком случае я не жду от них такой подставы.
если не всю, то я уже вам дал всё необходимое. а без всей программы эффект может и не наблюдаться. вон ниже уже начали петь песню про неправильное тестирование, но это не то совсем.
при установке неоригинальных прошивок с вырезанным софтом картина не меняется, поэтому я никак не связываю тормознутость МТК и китайские кривые программы для слежки. Но не вижу смысла спорить, у меня такой опыт, у вас другой, тем более вы на 10 голов лучше меня в этом разбираетесь.
у меня есть HTC Desire S, было бы интересно заиметь для него прошивку на андроид 7 хотя бы, если хотите поиграться с ним и сделать статью, то я мог бы выслать аппарат. В стоке там 2.3, но позже была выложена 4.0.4 на которой он и работает, но современным софтом уже не воспользоваться.
Ох, любимый комментарий XD Если его не пишут, то считайте день прошёл зря.
Вы подразумеваете, что если программа А в одних и тех же условиях выполняется то 1 минуту, то - 5, то виноват не код программы (язык, компилятор, оптимизации), а процедура замера? (надеюсь вам же не приходит в голову, что два подряд объявления int не являются синонимичными записи с одним int???)
Это как на олимпийских играх для бегунов на 400 метров поставить две пары фотоэлементов и регистрировать старт и финиш, а потом кто-то скажет, что есть квантовая суперпозиция и ваш способ замера не учитывает искривление пространства-времени.
Нет особой разницы в тем что я написал выше, так было:
static void strfind3(byte[] s, byte[] su)
{
int ju = 0;
int c = 0;
int m = 0;
int sl = s.Length;
int sul = su.Length;
int eof = sl - sul;
int sp = 0;
// всякое...
}
этот код при обработке файла в 900М отрабатывал за 2400 мс, а этот код:
static void strfind3(byte[] s, byte[] su)
{
int ju = 0, c = 0, m = 0, sp = 0, j, sl = s.Length, sul = su.Length, eof = s.Length - sul;
// всякое
}
уже за 1800 мс. Была однозначная повторяемость результатов.
Позднее в другой программе тоже игрался с объявлением переменных, там код
int i = 0, compares = 0, matches = 0, sul = substr.Length, sl = str.Length;
менялся на
int compares = 0, matches = 0, sul = substr.Length, sl = str.Length;
int i = 0;
и выполнение ВСЕЙ программы замедлялось на 40%.
Я пишу без ООП, короткие программы, я не разработчик, проверяю какие-то алгоритмы и т.п. и для меня такое поведение - нонсенс, так как еще с Turbo C я прекрасно помню как сам компилятор оптимизирует код.
посмотрю, спасибо.
с исходниками для меня всё плохо, я чужой код совсем не понимаю, так как у меня в голове всё строится от идеи, а её реализация в голове у меня никогда не задерживается, когда читаю чужое просто не понимаю это нагромождение кода, особенно когда используют твики или хитрые приёмы. (недавно тут же читал статью про то как формировались уровни в Pifall, тот кто в этом разобрался для меня уровня - Бог)
Есть, там рассказываются аппаратные особенности, но нет информации и движке например..
Спасибо за наводки, подписался чтобы сохранить данные.
Да, я про Watcom и хотел спросить следом, а вы уже и ответ написали.
Было бы интересно разобраться с аппаратными функциями CGA/EGA/VGA и VESA. Это я в целом, о своих планах.
На ютубе есть дядя https://www.youtube.com@The8BitGuyу него своя игра портирована на кучу ПК, включая i8088 DOS в разных графических режимах. Но он не рассказывал на чем пишет.
как 8-битник до мозга и костей приветствую вариант для DOS хотя бы для i386/87.
У родителей (69 лет) только кнопочные телефоны, так как пользуются банком, смартфоны противопоказаны.
ась?
школьники начальных классов?
Вот смотрите, у вас ОС Windows, вы её написали. Кода на 1 млн страниц, а производительной ВСЕЙ системы определяется тем как именно в самой первой строке кода произошло присваивание eof, не скорость запуска системы, не скорость выполнения какого-то участка кода, а скорость работы вообще всей ОС. Вам не кажется, что ваше открытие тут ничего не значит?
3-20-40 абсолютно не важно, так как проблема не в процентах.
Это поведение в стиле капитана очевидности, так как вся информация не подкрепленная фактами является голословной, для этого не требуется от вас никаких сообщений. Вы же попросили еще и код, хотя я неоднократно уже заявил что его не предоставлю.
1) NDA
2) Мы не в суде, я сообщил информацию к сведению, вы можете её проигнорировать
Сейчас мы НЕ доказываем что код меняется на 40% производительности, мы показываем суть моего треда - при синонимичном изменении кода меняется состав инструкций ЦПУ в конечном коде. Важно именно это, а не сколько там скушает mov.
Это не дебаг, что очевидно.
Мне не нужен специальный инструмент для измерений если я имею статистику и повторяемость результата при изменении кода. Но если вам так легче:
Что это изменило? XD
есть официальная 4.0.4, а там какое ядро? а Lumia 640XL перевести на Андроид?
у меня нет задачи сделать вас своим адептом, но !!!! все, кто пользуется C# не на уровне "Hello World!" знают, что ассемблерный код может очень сильно меняться при несущественных изменениях в программе, просто я лично не ожидал, что эти изменения могут быть практически фатальными для производительности. Я привык, что компилятор умнее меня с точки зрения оптимизации, я это видел и вижу при работе с MOS 6502, с 8088/80386, во всяком случае я не жду от них такой подставы.
если не всю, то я уже вам дал всё необходимое. а без всей программы эффект может и не наблюдаться. вон ниже уже начали петь песню про неправильное тестирование, но это не то совсем.
Это проблема ваших родителей, а не метода. По такой логике всё что в жизни происходит путём сообщения одних другим можно крестом перечеркнуть.
при установке неоригинальных прошивок с вырезанным софтом картина не меняется, поэтому я никак не связываю тормознутость МТК и китайские кривые программы для слежки. Но не вижу смысла спорить, у меня такой опыт, у вас другой, тем более вы на 10 голов лучше меня в этом разбираетесь.
у меня есть HTC Desire S, было бы интересно заиметь для него прошивку на андроид 7 хотя бы, если хотите поиграться с ним и сделать статью, то я мог бы выслать аппарат. В стоке там 2.3, но позже была выложена 4.0.4 на которой он и работает, но современным софтом уже не воспользоваться.
Ох, любимый комментарий XD Если его не пишут, то считайте день прошёл зря.
Вы подразумеваете, что если программа А в одних и тех же условиях выполняется то 1 минуту, то - 5, то виноват не код программы (язык, компилятор, оптимизации), а процедура замера? (надеюсь вам же не приходит в голову, что два подряд объявления int не являются синонимичными записи с одним int???)
Это как на олимпийских играх для бегунов на 400 метров поставить две пары фотоэлементов и регистрировать старт и финиш, а потом кто-то скажет, что есть квантовая суперпозиция и ваш способ замера не учитывает искривление пространства-времени.
Нет особой разницы в тем что я написал выше, так было:
этот код при обработке файла в 900М отрабатывал за 2400 мс, а этот код:
уже за 1800 мс. Была однозначная повторяемость результатов.
Позднее в другой программе тоже игрался с объявлением переменных, там код
менялся на
и выполнение ВСЕЙ программы замедлялось на 40%.
Я пишу без ООП, короткие программы, я не разработчик, проверяю какие-то алгоритмы и т.п. и для меня такое поведение - нонсенс, так как еще с Turbo C я прекрасно помню как сам компилятор оптимизирует код.
я не занимаюсь публикацией своих программ.