Сейчас на форуме: tyns777 (+4 невидимых) |
eXeL@B —› Программирование —› WinObj, почему так не эффективно написано? |
Посл.ответ | Сообщение |
|
Создано: 24 июня 2010 17:29 · Личное сообщение · #1 Всем привет,решил глянуть как тулза работает и увидел: Code:
И таких кусков много! Почему так не эффективно написано? Ведь можно было один массив с передачей строк и массива куда складировать адреса. Компиллер виной или Руссинович обкурился? |
|
Создано: 24 июня 2010 17:49 · Личное сообщение · #2 |
|
Создано: 24 июня 2010 17:58 · Личное сообщение · #3 |
|
Создано: 24 июня 2010 18:10 · Личное сообщение · #4 |
|
Создано: 24 июня 2010 19:26 · Личное сообщение · #5 |
|
Создано: 24 июня 2010 19:53 · Личное сообщение · #6 |
|
Создано: 25 июня 2010 02:07 · Личное сообщение · #7 |
|
Создано: 25 июня 2010 02:14 · Личное сообщение · #8 VodoleY пишет: Еслиб ВИН 95 был написан на асме то хватало бы 386го проца с головой А 386-го не хватало для 95-й винды? Речь только о системе или о прикладных программах тоже? Тогда и пня не хватало, чтобы ксингом быстро мп3 конвертить, куда уж там 386-му. Зависимость от языка программирования и системных требований отнюдь не такая, как её пытался представить этот препод. Написанный на асме архиватор или видеокодер не будут жрать память и процессорные рессурсы? Ну-ну. ----- EnJoy! |
|
Создано: 25 июня 2010 03:05 · Личное сообщение · #9 VodoleY пишет: Еслиб ВИН 95 был написан на асме То он бы никогда не заработал. А если бы заработал, то тормозил бы на чем угодно. Быстро пишущийся код на асме всегда получается гораздо хуже, чем после оптимизирующего компилятора си. ----- PGP key |
|
Создано: 25 июня 2010 08:45 · Поправил: VodoleY · Личное сообщение · #10 Не ну что за люди... это высказывание не руководство к действию типа а ну все поехали писать операционки на асме. были времена когда люди оптимизили код и он был красивый и быстрый. А что сейчас посмотри как работает VB или воще Шарп. когда вирус занимал 30 байт (ну ладно ванхалф 3500 так этож шедевр) а ща страшно смотреть ВИРУС 500КБ и спрашиваем А ЧЕ ТАК КУШАЕТ РЕСУРСЫ СОФТА З.Ы. gazlan спасибо за инфу.. не знал ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 25 июня 2010 09:16 · Личное сообщение · #11 sys_dev вызывается натив функция NtOpenDirectoryObject, и чтобы проверить её сущевствование идёт проверка при помощи её вызова, непрошла проверку программа тихо закрылась,или сообщила что мол под этой версии винды небуду работать.Было-бы она в табличке, а этой айпи неношлась в системной бибблиотек, или ей кликуху сменили , выскочила бы сообщение немогу найти точку входа в NtOpenDirectoryObject вот бы было позорище Руссиновичу ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 25 июня 2010 10:16 · Личное сообщение · #12 Я согласен с sys_dev - в общем только в этой функции лишних 280 где-то байт. А ведь еще другие. Автор прав - алгоритм можно заключить в цикл, который вообще можно написть рабочий на коленке и который на i7, например, полностью разложится на микрокоманды и будет целиком выполняться как одно целое. А выход в случае отсутствия адреса сделан скорее всего по стилю программирования. Кстати, не совсем оригинально - ну нет функции и хрен с ней, заменим чем-нибудь, в крайней случае функцию отключим, зачем в отказ сразу. Но для ускорения процесса написания я б тоже подобным образом написал, ведь редкость, чтоб не было какой-то функции. Если так, то проще будет немного переделать под другую ось. В общем на начальном этапе меньше заморачиваться на мелочах, первым делом основной функционал, чтоб отладить именно его. А тогда в конечном счете и ошибок меньше, ближе финал и полноценней тесты, клиент доволен - мы довольны, все довольны и полная гармония. Вот так. ----- IZ.RU |
|
Создано: 25 июня 2010 18:12 · Личное сообщение · #13 |
|
Создано: 25 июня 2010 20:06 · Поправил: DenCoder · Личное сообщение · #14 Это фрагмент функции, функция целиком состоит из таких, всего их 23-24. Всего лишь на оргигинальность не тянет по нескольким пунктам: 1) Излишность кода, зря развернутый цмкл; 2) Недостаток, неоптимизация в одном месте предполагает наличие других таких мест, также является слабым косвенным признаком бета-версии; 3) Если нет какой-то из 23-24 натив функций, Руссинович не хочет писать без нее, от него автор топика больше ждал :D А вообще, sys_dev, судя по всему, это просто результат компиляции одной и той же строчки, скопипастенной и измененной для каждой нужной натив Code:
----- IZ.RU |
|
Создано: 26 июня 2010 00:45 · Личное сообщение · #15 |
|
Создано: 26 июня 2010 15:17 · Поправил: Coderess · Личное сообщение · #16 |
|
Создано: 26 июня 2010 16:34 · Поправил: Clerk · Личное сообщение · #17 |
|
Создано: 26 июня 2010 17:48 · Личное сообщение · #18 |
eXeL@B —› Программирование —› WinObj, почему так не эффективно написано? |
Эта тема закрыта. Ответы больше не принимаются. |