Подробных тестов по теме производительности мы еще не проводили, но большинство алгоритмов никак не влияют на быстродействие. Единственное исключение — String Encription, этот алгоритм, вероятно, добавит некоторые доп. накладные расходы. Но разница в быстродействии будет очень несущественной и, скорее всего, в реальном приложении её не заметить.
Кроме того, при необходимости, нужные методы можно исключить из обработки с помощью атрибута ObfuscationAttribute
По традиции каждую весну хожу на майскую прогулку (50 км), маршрут проходит за городом, и местами по шпалам и полу-болотам (особенно после дождей). Так что преодолеть такое расстояние по пересеченной местности без подготовки за день — абсолютно реально. На следующий день ходить тоже реально. Другое дело как ходишь на следующий день :)
> Если вы не один такой, то, быть может, и стоит писать ещё.
Думаю что не один :)
Кстати в плане не освещенности темы — сегодня был в книжном, убедился что литературы по таким темам тоже особо не встретишь. Единственно близкое к теме — книжка по компиляторам/трансляторам где была одна глава про собственный байт-код, который они использовали.
Так что обязательно пишите еще, про VM и общую архитектуру интереснее, но с удовольствием почитаю и про ОС.
Не правда, мне например очень интересно Вас читать (имхо для меня это самый интересный пост за последние пару дней, увидев его с удовольствием прочитал предыдущие две Ваши статьи). Просто так сложилось что я крайне редко пишу комментарии. Если подумать это первый мой комментарий на хабре к чужой статье :) Не понимаю скептицизма многих, действительно это велосипедостроение, идея не нова и все такое. Но ведь не все в мире создается с коммерческой целью, а тема создания собственной виртуальной машины с собственным виртуальным окружением, собственным байткодом и т.п. очень даже интересная, причем дельных материалов на русском по ней катастрофически мало (если я не прав то дайте пруфлинк, я бы с удовольствием почитал). Так что Ваши старания очень даже не напрасны. Жду следующей части :)
Я не очень углублялся в C++\CLI, но насколько я понимаю, он работает по другому принципу. Там создается функция с флагом unmanaged. В ней отсутствует body с IL, и каким то образом, задается по какому неуправляемому адресу нужно осуществлять вызов.
Прошу прощения, тогда я почему-то пропустил Ваш комментарий. Т.к. сейчас я опубликовал новую статью по теме, думаю будет уместным ответить на возникшие вопросы:
> Такие алгоритмы лучше всего распаралеливать… ибо только распарареливанием алгоритма можно получить хоть какоето значимое улучшение производительности
Разница в производительности алгоритма написанного на C# и С++ весьма существенна, позже я планирую написать об этом. Распараллеливание может быть плюсом но не исключает требования к производительности каждого потока.
> Ой… уже страшно от одной этой фразы. «C++» и «защита» в одном предложении
Вы меня не правильно поняли, речь идет не о безопасном коде, а о защите программного обеспечения от реверс инжиниринга.
>Старый код потому и называют старым… что его лучше лишний раз не стоить использовать
Разумеется это идеал, всегда использовать свежие технологии и свежий код, но т.к. проекты развиваются в течении многих лет, отказываться от всех наработок и начинать все каждый раз заново — неразумный ход. Разумеется есть и исключения, после набора проектом какой-то критической массы сложности сопровождения, может возникнуть необходимость переписать все полностью. Но это все же крайний случай а не типовая ситуация.
Сделай хотяб Label (или как так там тег назывался) чтобы можно было не пытаться попасть в маленький кружек RadioButton а можно было кликать по тексту пояснения рядом с ним.
C одной стороны Вы правы, с другой нет. Виртуальная клавиатура это хорошо, и она должна по идее здесь быть (особенно для сложных букв), но часто удобнее и быстрее ввести с обычной, именно для этого и встроен транслит.
По-моему так работают только некоторые домены. Президент да находится, но вот sex.rf уже нет. Не смотрел проиндексирован ли он, но сайт этот работает уже неделю-другую.
Кстати вопрос немного не по теме — сколько надо кармы чтобы иметь возможность публиковать топики не только в персональный блог? В хабрахелпе вроде была цифра 5 но это не правда.
Я думаю что люди, у которых нет русской клавиатуры редко будут вводить слова не в той раскладке. Так что это на мой взгляд привлечет не ЦА, а просто бедных заблудившихся пользователей.
Да, я вот тоже так думаю. С другой стороны тем кто часто будет пользоваться сервисом может быть удобнее набирать название прямо в строке адреса, как думаете? С другой стороны они тогда не смогут проверить корректность транслитерации.
Кроме того, при необходимости, нужные методы можно исключить из обработки с помощью атрибута ObfuscationAttribute
Думаю что не один :)
Кстати в плане не освещенности темы — сегодня был в книжном, убедился что литературы по таким темам тоже особо не встретишь. Единственно близкое к теме — книжка по компиляторам/трансляторам где была одна глава про собственный байт-код, который они использовали.
Так что обязательно пишите еще, про VM и общую архитектуру интереснее, но с удовольствием почитаю и про ОС.
> Такие алгоритмы лучше всего распаралеливать… ибо только распарареливанием алгоритма можно получить хоть какоето значимое улучшение производительности
Разница в производительности алгоритма написанного на C# и С++ весьма существенна, позже я планирую написать об этом. Распараллеливание может быть плюсом но не исключает требования к производительности каждого потока.
> Ой… уже страшно от одной этой фразы. «C++» и «защита» в одном предложении
Вы меня не правильно поняли, речь идет не о безопасном коде, а о защите программного обеспечения от реверс инжиниринга.
>Старый код потому и называют старым… что его лучше лишний раз не стоить использовать
Разумеется это идеал, всегда использовать свежие технологии и свежий код, но т.к. проекты развиваются в течении многих лет, отказываться от всех наработок и начинать все каждый раз заново — неразумный ход. Разумеется есть и исключения, после набора проектом какой-то критической массы сложности сопровождения, может возникнуть необходимость переписать все полностью. Но это все же крайний случай а не типовая ситуация.
А enter работать должен.
Что мне еще интересно узнать — понятны ли правила транслитерации, удается ли набрать нетривиальные слова?