• Исследование скорости вызова метода различными способами

      Результат и выводы для тех кто не любит длинный текст



      100.000 вызовов, 20 итераций теста, x86 100.000 вызовов, 20 итераций теста, x64 1.000.000 вызовов, 10 итераций теста, x86 1.000.000 вызовов, 10 итераций теста, x64
      Прямой вызов
      Min:	1 ms
      Max:	1 ms
      Mean:	1 ms
      Median:	1 ms
      Abs: 1
      

      Min:	1 ms
      Max:	1 ms
      Mean:	1 ms
      Median:	1 ms
      Abs: 1
      

      Min:	7 ms
      Max:	8 ms
      Mean:	7,5 ms
      Median:	7,5 ms
      Abs: 1
      

      Min:	5 ms
      Max:	6 ms
      Mean:	5,2 ms
      Median:	5 ms
      Abs: 1
      

      Вызов через отражение
      Min:	32 ms
      Max:	36 ms
      Mean:	32,75 ms
      Median:	32,5 ms
      Rel: 32
      

      Min:	35 ms
      Max:	44 ms
      Mean:	36,5 ms
      Median:	36 ms
      Rel: 36
      

      Min:	333 ms
      Max:	399 ms
      Mean:	345,5 ms
      Median:	338 ms
      Rel: 45
      

      Min:	362 ms
      Max:	385 ms
      Mean:	373,6 ms
      Median:	376 ms
      Rel: 75
      

      Вызов через делегат
      Min:	64 ms
      Max:	71 ms
      Mean:	65,05 ms
      Median:	64,5 ms
      Rel: 64
      

      Min:	72 ms
      Max:	86 ms
      Mean:	75,95 ms
      Median:	75 ms
      Rel: 75
      

      Min:	659 ms
      Max:	730 ms
      Mean:	688,8 ms
      Median:	689,5 ms
      Rel: 92
      

      Min:	746 ms
      Max:	869 ms
      Mean:	773,4 ms
      Median:	765 ms
      Rel: 153
      

      Вызов через делегат с оптимизациями
      Min:	16 ms
      Max:	18 ms
      Mean:	16,2 ms
      Median:	16 ms
      Rel: 16
      

      Min:	21 ms
      Max:	25 ms
      Mean:	22,15 ms
      Median:	22 ms
      Rel: 22
      

      Min:	168 ms
      Max:	187 ms
      Mean:	172,8 ms
      Median:	170,5 ms
      Rel: 22.7
      

      Min:	218 ms
      Max:	245 ms
      Mean:	228,8 ms
      Median:	227 ms
      Rel: 45.4
      

      Вызов через dynamic
      Min:	11 ms
      Max:	14 ms
      Mean:	11,5 ms
      Median:	11 ms
      Rel: 11
      

      Min:	12 ms
      Max:	14 ms
      Mean:	12,5 ms
      Median:	12 ms
      Rel: 12
      

      Min:	124 ms
      Max:	147 ms
      Mean:	132,1 ms
      Median:	130 ms
      Rel: 17
      

      Min:	127 ms
      Max:	144 ms
      Mean:	131,5 ms
      Median:	129,5 ms
      Rel: 26
      

      Вызов через Expression
      Min:	4 ms
      Max:	4 ms
      Mean:	4 ms
      Median:	4 ms
      Rel: 4
      

      Min:	4 ms
      Max:	5 ms
      Mean:	4,15 ms
      Median:	4 ms
      Rel: 4
      

      Min:	46 ms
      Max:	55 ms
      Mean:	50 ms
      Median:	50,5 ms
      Rel: 6.7
      

      Min:	47 ms
      Max:	51 ms
      Mean:	47,7 ms
      Median:	47 ms
      Rel: 9.4
      



      При использованиии .NET Framework 3.5 лучше всего использовать вызов методов через делегат с оптимизацией вызова. Для .NET Framework 4.0+ отличным выбором будет использование dynamic.
      UPD: новый вывод от mayorovp: лучше всего использовать Expression

      UPD: и как подсказал CdEmON, такое исследование было опубликовано на хабре ранее

      Читать дальше →
    • WPS Pixie Dust Attack — Взлом Wi-Fi сети за 5 минут. Описание уязвимости



        Уязвимость не новая, но ввиду отсутствия материалов в «РУ» сегменте — решил написать данную статью.

        Базово о WPS:
        WPS — Wi-Fi Protected Setup. Второе название QSS — Quick Security Setup.
        Стандарт разработанный для упрощения процесса настройки беспроводной сети.
        WPS позволяет подключится двумя различными способами:
        — ввод 8-ми значного пин кода (обычно указывается c обратной стороны роутера)
        — нажатием специально предназначенной для этого кнопки на роутере

        PIN являет собой код из 8 цифр, 8я — чек сумма. Брут такого кода, с учетом защиты от перебора, может занять до нескольких дней.

        В конце 2014 года специалист по компьютерной безопасности Доминик Бонгард (Dominique Bongard) нашел уязвимость в WPS, которая позволила взломать Wi-Fi роутер за несколько минут.

        Проблема была в генерации случайных чисел (E-S1 и E-S2) на многих роутерах. Если мы узнаем эти числа — мы сможем легко узнать WPS pin, так как именно они используются в криптографической функции для защиты от брутфорса по получению WPS pin.
        Роутер отдает хэш, сгенерированный с использованием WPS pin и данных (E-S1 и E-S2) чисел, что бы доказать, что он его так же знает (это сделано для защиты от подключения к фейковой точке, которая могла бы просто принять ваш пароль и слушать трафик).
        Читать дальше →
      • Хабразвук

          Увидев наполненный красивыми графиками и трагическим пафосом пост "Хабр умирает?", я задумался: а как бы вся эта красота могла звучать? Когда выдалось немного свободного времени, я скачал данные и натравил на них Sonic Pi. Теперь я знаю, как звучит Хабрахабр, и хочу поделиться этим забавным опытом.
          Читать дальше →
        • Неожиданная встреча. Глава 3

            Ангар освещался тусклым резервным освещением. В продырявленной, как сито, железной стенке ангара лазерным резаком вырезали проём. Когда линия реза замкнулась, кусок железа с грохотом упал на палубу ангара. За проёмом на полу, усыпанном осколками железа и пластика, виднелось тело человека. Рядом с ним лежала электромагнитная импульсная граната (ЭМИГ) зализанной формы, весь корпус которой был перфорирован мелкими отверстиями.



            Читать дальше...
          • Выбираем библиотеку для работы с WebGL

              Как-то утром, пробегая мимо славного урока, я подумал: «Это круто, только всё же кой-чего тут не хватает». Если надо много кода написать легко и быстро, то нужна нам, без сомнений, для сего библиотека. Только как её нам выбрать, если каждый, кто умеет на гитхабе заводить репозиторий, запилил велосипед свой? И об этом для тебя, друг, напишу сегодня пост вдруг.
              Дальше проза
            • Представляем драйвер Intel RealSense для Linux & OS X



                До недавнего времени возможности технологии Intel RealSense были доступны только пользователям Windows, поддержка других операционных систем отсутствовала полностью, что, конечно, огорчало людей, их использовавших. Теперь эта несправедливость исправлена, по крайней мере, частично. В рамках своей open source программы Intel опубликовала драйвер RealSense для Linux & OS X, обеспечивающий:
                • получение изображения со всех моделей камер RealSense (F200, SR300, and R200), в том числе из нескольких источников сразу;
                • доступ к сырым потокам RGB, глубины и ИК;
                • доступ к синтетическим потокам (глубина, выравненная по цвету и т.д.);
                • доступ к внутренней и внешней калибровочной информации;
                • реализацию большей части hardware-specific функциональности (UVC XU).

                Драйвер разрабатывался и тестировался на ОС Ubuntu 14.04.03 x64 с обновленным ядром 4.4 и GCC 4.9, а также OS X 10.8. с тулчейном Clang. librealsense обеспечивает совместимость с Robotic Operating System (ROS), OpenCV, Point Cloud Library (PCL) и многими другими рантаймами и фреймворками. Основные возможности библиотеки ускорены с помощью инструкций SSE3. librealsense общается с камерами напрямую через UVC и USB без привлечения рантаймов RealSense SDK. Большая часть кода платформо-независима, однако имеется небольшой слой абстракции, опирающийся на UVC-компоненты ОС. Внешних зависимостей у библиотеки две: GLFW3 (на всех платформах) и libusb-1.0 (Mac/Linux),
                • +16
                • 5,5k
                • 6
              • Хакер опубликовал данные SIM-карт и счетов 3 млн абонентов крупного африканского оператора



                  В сети Tor опубликована ссылка на архив, содержащий регистрационные данные и финансовую информацию 3 млн абонентов крупнейшего телекоммуникационного оператора Либерии Lonestar Cell.

                  Хакер под ником ROR[RG] выложил на одном из форумов ссылку и пароль для доступа к архиву — по его словам с помощью этих данных можно получить доступ к мобильным счетам пользователей оператора, а также их индивидуальные ключи идентификации и учетные данные сим-карт. ROR[RG] уточнил, что архив содержит не всю информацию, которую ему удалось похитить из сети оператора.
                  Читать дальше →
                • Научные мультфильмы, что показывать детям без вреда для них?

                  image
                  Объяснение закона гравитации из мультфильма «Физика для самых маленьких»

                  У меня растет два очень любознательных сына в возрасте три и пять лет. Они очень любят научные мультики, особенно по физике и астрономии, как только в их руки попадает планшет, маленькие пальчики начинают быстро перебирать видеоролики из YouTube в поисках интересного контента. И что же они там находят? Поскольку я не только отец двоих детей, но еще и существенную часть жизни посвятил методике преподавания физики для маленьких детей, я знаю, что показывают детям учителя, а также заботливые родители и добрые бабушки. Скажу сразу, не все из этого стоит показывать детям.
                  Осторожно! Под катом горькая правда
                • В тысячах камер видеонаблюдения с веб-доступом обнаружен root-пользователь с фиксированным паролем

                    image
                    Система наблюдения LH110 Lorex 8 channel Eco Series

                    Специалисты по безопасности из компании Risk Based Security (RBS) обнаружили уязвимость в камерах видеонаблюдения, которые китайский производитель Zhuhai RaySharp Technology делает для различных продавцов недорогой электроники.

                    Прошивка изделий, производимых в RaySharp, представляет собою Linux-систему с CGI-скриптами, формирующими веб-интерфейс. Через интерфейс, при наличии реквизитов для доступа, можно добраться до просмотра изображений, настроить параметры записи и системные установки, повертеть камерой – в общем, получить полный контроль над системой видеонаблюдения.
                    Читать дальше →
                  • Исследование тарифов на виртуальный хостинг

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


                      Читать дальше →
                      • +8
                      • 11,9k
                      • 8