Pull to refresh
95
0
Вячеслав Егоров @mraleph

Пользователь

Send message
ну картинка-то тоже интерактивная:
Немножко расширим прототип Function


Если ваш браузер поддерживает ES5, то вы его не расширяете, а напротив «портите». Потому что в ES5 уже есть Function.bind со своей семантикой. В MooTools даже баг есть связанный с этим: их bind неправильно себя ведёт в браузерах где уже есть Function.bind c ES5 семантикой, потому что они пытаются его использовать в качестве своего bind. И вот решение:

For MooTools Core 1.3 we are going to adopt the ES5 version of Function.prototype.bind.
вы так говорите «никогда не добъется», словно флэш был дарован нам Богом на горе Синай.

у меня каждый раз на Маке включается вентилятор, когда я смотрю видео во флэше. и что?

люди работающие в разных компаниях по всему миру тратят своё время, чтобы оптимизировать встроенные в браузеры механизмы рендеринга и исполнения JS (который осмелюсь напомнить вам лет 10 назад сам по себе неплохо тормозил, а сейчас его в серверных приложениях используют).
и как же называется эта чудесная встроенная во все браузеры бритва?

Он в этом плане чрезвычайно, чудовищно неэффективен.


неэффективен он у тех, кто не стремится сделать его эффективным.
А как красивее?


Сделать класс Assembler с методами mov, jmp и т.д.
ой, зачем же перемешали кодогенератор с ассемблером, читать же (не говоря о поддерживать) не удобно.

Сгенерированный п-код использует четыре «абстрактных физических регистра» R01..R04, которым естественно сопоставить настоящие регистры EAX,ECX,EDX,EBX: т.е. номер настоящего регистра получается из номера «абстрактного» вычитанием единицы


эх, из-за того что у вы регаллок делаете слишком высоко приходится вам пляски с бубнами устраивать там где вылазит неортогональность (деление, сдвиги), плюс он ничего не знает о конвенциях вызова (мог бы допустим учитывать их и стараться садить темпоралы на портящиеся вызовами регистры).
спасибо! выкладывайте и не рефакторенное, поможем с рефакторингом =)
o[ "Foo" ][ "Bar" ] = function( a, b ) {}
o[ "Foo" ]( 1, 2 )


не заработает это.
я не заметил у себя слов «предполагается NP-полнота».
>> но у меня математическое высшее образование, и чтото мне из этого образования подсказывает

3-SAT проходят в курсе теории алгоритмов на матмехе. Там все доказывается. Это одна из базовых NP-полных задач.

>> К примеру такими задачами сейчас считаются «необратимые» функции

кем считаются? вами?

я вам по секрету сообщу, что сама «необратимая» функция вычисляется эффективно за полиномиальное время, а вот обратная к ней, как раз предполагается, сложно вычислимой, не вычислимой за полиномиальное время. однако никто не предполагает, что задача вычисления обратной функции является NP-полной.

существование «необратимой» функции f само по-себе будет означать, что P != NP, поскольку задача вычисления f^-1 очевидно принадлежит NP, но не принадлежит P. и полнота или неполнота этой задачи не имеет ну совершенно никакого значения.
>> Реализация алгоритма не держится в секрете.

Пусть выложит реализацию алгоритма в свободный доступ. Из статьи очень сложно понять что он делает, из кода будет проще.
*facepalm* способов решения уйма, только сложность у них не полиномиальная.

почитайте что ли в википедии, что такое класс NP и что-такое NP-полнота.
статья очень мутная не удивлён, что её не приняли никуда.
уже на второй странице перестаешь понимать что и как он строит. привел бы описание алгоримтма в виде псевдокода, тогда сразу стало бы все понятно.
Я думаю в советские годы термин «точка останова» произошел от названия инженерного приспособления «останова». Ведь многие связанные с ЭВМ в те годы имели именно инженерное образование.
на ассемблере кратко и понятно, но в user space не работает (как я написал, и даже пример ассемблера привел) — mov инструкции работающие с отладочными регистрами требуют нулевого уровня привилегий =)
мне кажется слово «останов» весьма распространено в советской и российской литературе (было еще замечательное сокращение «авост»).

меня очень интересуют русские аналоги английских технических слов, поэтому если предложите более адекватный перевод, буду очень благодарен.
адмирал! нет ничего нового в мире под солнцем, как сказал дядька Соломон.

я на научную новизну не претендую, просто документирую совершенные мной шаги.
а можете рассказать, что там было такого особенного? из интервью я не понял =)

// я сам считаю, что к отладчику нужно прибегать только в совершенно безвыходных ситуациях. крэшдамп там изучить, повреждение памяти за хвост схватить… как Фейнман чинил радиоприемники «думаньем», так и я предпочитаю чинить программы думаньем (ну и протыкиванием assertов во все щели) =)
я отлаживал проблему под Маком, поэтому весь код написал исключительно для Мака.

спасибо за названия функций, сократит время на поиск, если придется отлаживать что-то аналогичное под Windows/Linux.

Information

Rating
Does not participate
Location
Дания
Date of birth
Registered
Activity