All streams
Search
Write a publication
Pull to refresh
8
0.3
OlegMax @OlegMax

User

Send message
Выравнивание я просто сначала не заметил. Все ок.

Насчет уровня косвенности — спорно. В вашей реализации — вызов ф-ции по указателю (manage) + switch. Вызов виртуальной ф-ции = вызов ф-ции по указателю на указатель. Не думаю, что можно без замеров утверждать что будет быстрее в реальной жизни.
Не вижу, откуда взяться дополнительным аллокациям. Размер объекта без полей, реализующего виртуальный интерфейс, равен (surprise!) размеру manager_t. Размещающий new позволит отлично обойтись без доп. аллокаций.
1. Не увидел упоминания memory alignment. Если этот аспект пропущен, то можно неожиданно получить серьезный удар по производительности.
2. Какие преимущества использования набора указателей на ф-ции (manager_t) перед виртуальными классами? На мой взгляд, именно для этого классы идеально и подходят.
И прямо из сети попало в функцию, копирующую файл? Тоже до свидания. Это слишком тупой троллинг, как без необходимости спрашивать — а у вас double в стандарте IEEE 754?
Вообще-то абсолютно адекватные вопросы.

Не все. Например, порядок байтов в строке в памяти колебать программиста не должен. Внимательный интервьюер на этом вопросе может сказать «Попался, тролль! Давай, до свидания».
Перед чтением статьи хорошо бы ознакомиться с Areas of Expertise автора. Становится очевидно, что это просто эталонный консультант ртом.
Модули — это 10%. Без стандартизации ABI в этом направлении далеко не уйти. Под Linux безумная морока с разными версиями stdc++ в разных дистрибутивах. Это не говоря про все прочие бинарные зависимости.
Зато теперь мы знаем, что автор статьи консультант и знает много модных баззвордов — IoT, HFT, FPGA, VHDL…
Ну а то, что C++ настолько долго компилируется, что проще ПЛИС на коленке запрограммировать, мы и так догадывались.
Один хозяин! Меньше одной тысячи км прошла!
Прогеров — да. Менеджеров и архитекторов, которые смогут выпустить коммерческий продукт, и не надо — демонстрировать Путину и показывать по ТВ можно и вечную бессмысленную бету.
Слова английского языка?! Мне прямо стихи попались:
xv
xvi
xvii
xviii
xw
xx
xxi
xxii
xxiii
xxiv
xxix
xxv
xxvi
xxvii
xxviii
Фура сомнёт их до размеров одной, а этот случай как раз программой предусмотрен.
Если вы пролистали до этого комментария, то, возможно, вы уже сдались. Тогда попробуйте еще подумать вот с этой подсказкой:
Небольшая подсказка в правильном направлении
XORим вместе все числа с нечетными значениями и, отдельно, XORим вместе все числа с четными значениями.
Дальше сами...
А я уж подумал, что в Британии и часы не метрические.
В качестве черного ящика «на входе SVG, на выходе растр», имхо, вполне можно использовать Qt SVG.
SVG++ нацеливалась на тех, кого не устраивает черный ящик или есть особые требования по памяти/производительности.
Например, в программе уже используется Skia/Cairo/GDI+/AGG/etc в качестве движка и хочется рендерить SVG именно с помощью того же самого. В этом случае мало поможет то, что я допилил реализацию для одного движка.
Чтобы с помощью фильтров делать интересные эффекты (хотя бы как сэмплы в SVG Spec), нужно довольно большое их число реализовать. Одним blur не обойтись.
Демо-приложение умеет рисовать градиенты (по крайней мере, с AGG). Здесь можно скачать (регистрация открытая) SVG Test Suite рендеренный с помощью демо, чтобы примерно представлять реализованнные в демо фичи. Тени в демо не сделаны.
Но нужно понимать мотивацию при создании компонент — библиотека SVG++ умеет читать всё, а демо показывает как этим пользоваться, включая реализацию сложных функций. Но, например, полная реализации фильтров раздула бы демо-приложение кучей довольно тривиального кода.
Там была скорее специфика бизнеса, достигшего определенной зрелости. В программировании нельзя недооценивать возможности одиночки.
Если качественно реализован разбор C++ кода со всеми Microsoft-specific вещами, пришедшими из глубины веков, плюс хорошая интеграция со студийными проектами и IDE, то вполне можно пока сосредоточиться на VS. На месте недорогих fixed price решений статического анализа пока зияющая пустота.
Это формат, а не парсер. Решает те же задачи, которые решали вы.
Вот уже люди задумались и даже предложили Efficient XML Interchange (EXI) Format.

Information

Rating
2,418-th
Registered
Activity