Как стать автором
Обновить
4
0
Виктор @vic85

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

Отправить сообщение
Конечно делитесь своими велосипедами, интересно же посмотреть ход мыслей в других реализациях)
Решал специфичную задачу буферизации, а так же регулярно использую похожие проксики к памяти в видео стримов

Вот мой говнокод этими ништячками: pastebin.com/7nm8DRFr
Этот пример по словам автора просто демонстрация возможности for fun, в прдакшене использовать я побоялся, с многопоточностью там проблемы, а по скорости такой же как libjpeg-turbo
Согласен, полезная информация только в том что есть такая библиотека как libjpeg-turbo.

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

Проблема оказалась в том, что что бы потянуло на статью нужно лить воду, побольше графиков, расписать API.

Но цель-то статьи не ознакомить с графиками, вот и вышло что кроме исходников предложить сообществу нечего.
Мда, не заметил как масло масляное получилось. Надо было либо убирать их либо подробнее расписывать если есть нюансы
Не помню как раньше, но сейчас UPX умеет удалять релоки, поэтому при его использовании StripReloc избыточна.
ничего не мешает добавить в свою реализацию InternalReadComponentRes кэширование распакованного стрима
У упаковщиков таких как UPX есть минусы из-за которых ими пользоваться не всегда удобно:
  • Файл может дольше запускаться за счет увеличенного времени сканирования антивирусом (ему нужно распаковать сначала файл)
  • В занимаемой памяти выигрыша нет, она разворачивается полностью
  • Опять же при запуске начинается распаковка ВСЕГО приложения что занимает время


Выигрыш от использования UPX только при запуске программ с DVD или сетевого диска — т.е. там где медленная скорость доступа, более маленький exe файл скорее попадет в оперативную память.

В случае же который описан в статье распаковка ресурсов происходит непосредственно в момент создания нужной формы, и после создания ее буфер с распакованными данными освобождается.
Поясню: после просмотра изображение со схемой болта вспомнился старый анекдот, в котором у этого слова несколько иное значение
> Это, извините, вопрос, требующий специальных знаний в узком секторе.

Когда я учился, у нас на третьем курсе был предмет «защищенный режим микропроцессора x86», там и отладка была и про байт $CC соответственно рассказывалось. При этом я бы не сказал что нас учили чему-то чему не учат в других университетах (я не говорю о предмете информатика или компьютерное делопроизводство в пищевом институте). Так вот к чему я, эти вещи преподают как базу наравне с теорией вероятности, дискретной математикой и т.п., и вроде как все кто учился эти вещи знают, ну а если не помнят то могут хотя бы порассуждать на тему. А тут получается человек делает круглые глаза и с воплем «я не хацкер и не должен этого знать» показывать свою профпригодность уровня «могу накидать кнопочек на форму». Да и еще, я понимаю что собеседуя человека в образовании которого значатся только курсы «Гуру PHP», проработавшего после них несколько лет в веб-студии используя готовые фреймворки — этот вопрос поставит в тупик, хотя это может быть очень хороший веб разработчик, правильно применяющий паттерны проектирования и пишущий надежный защищенный код. Но тут же наверно вопрос был для десктоп разработчика, причем наверно С++, который что бы писать что-то работающее такие вещи обязан знать. Короче если вопрос был в контексте поиска C++ программиста то я согласен с EvilsInterrupt.
Ясно, спасибо за gdisk: обновилась система на mavericks и сбросила mbr разметку на первые 4 раздела. Прописал ее заново с помощью gdisk — так много удобнее чем рассчитывать на калькуляторе.
Спасибо за статью, есть такой вопрос:

Почему при разметки MBR вы указываете первый раздел с 1 до 39, в то время как в GPT он прописан с 40 до 409639?
> 4. Ждет появления в буфере обмена текста (постоянно проверяя его раз в 10мс, и так в течение одной секунды)
С помощью функции SetClipboardViewer можно подписать свое приложение на изменение буфера обмена, тогда не придется долбать его опросами

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность