E_E>Если вы опытный программист, то пишите — расскажу более детально и дам код для оценки.
Нашли-нет?
Скорее всего дело не в ассемблере, а в алгоритмах.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Elena_E, Вы писали:
E_E>Нужно переписать некий код, написанный на С, чтобы увеличить производительность. E_E>Код связан с вычислениями, шифрованием, сложными хэш-функциями(например реализовать команды AES для процессоров не поддерживающих AES-NI). E_E>Архитектура x86-32 и x86-64. E_E>Оплата будет сдельная, и будет зависеть от того, насколько получится увеличить производительность. E_E>Мы готовы оплатить, только если будет результат (хотя бы, увеличение производительности на 10%).
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, synthetic, Вы писали:
S>>Для тех, кто хочет попробовать бесплатно поработать?
M>Ради строчки в резюме иногда работают и бесплатно. Потому что бывает, что замкнутый круг получается: без опыта не берут даже на юниорские позиции, а опыт просто так тоже не получишь. Особенно, если возраст уже за 30 и тем более 40, но хочется попробовать себя в чем-то новом. Вот тут чел плачется, что изучал java, а не берут https://www.sql.ru/forum/1310288/gde-vzyat-opyt
Что-то я с трудом представляю себе джуниора, который справится с этой задачей: разобрать алгоритмическое переоптимизированное месево и переписать на ассемблере так, чтобы оно заработало быстрее! При том, что он вынужден будет на ходу подтягивать знание алгоритмов, плюсов, учиться читать говнокод — тоже навык нужен! А Ассемблер?! — для эффективной работы несколько месяцев опыта даже гению нужны. А обычному кодеру нужны годы. Слишком дорогая строчка в резюме ИМХО
Здравствуйте, smeeld, Вы писали:
S>Здравствуйте, Elena_E, Вы писали:
S>Сейчас, чуваков с такими скилами (сейчас не 1990 год, их несколько на всю планету наберётся, способных обогнать современные оптимизирующие компиляторы) точно не на rsdn искать нужно.
Давно уже ничего не писал на асме (лет 15 точно), но когда надо было, то у меня получилось хорошо разогнать сишный код. В основном за счет использования MMX (C intrinsics не пошли у меня, проще оказадось на асме писать). Но и без MMX код был немного быстрее.
Здравствуйте, Elena_E, Вы писали:
E_E>Нужно переписать некий код, написанный на С, чтобы увеличить производительность. E_E>Код связан с вычислениями, шифрованием, сложными хэш-функциями(например реализовать команды AES для процессоров не поддерживающих AES-NI). E_E>Архитектура x86-32 и x86-64. E_E>Оплата будет сдельная, и будет зависеть от того, насколько получится увеличить производительность. E_E>Мы готовы оплатить, только если будет результат (хотя бы, увеличение производительности на 10%). E_E>Мы НЕ готовы оплачивать потраченное время, если результата не будет. E_E>Если вы опытный программист, то пишите — расскажу более детально и дам код для оценки.
А какой именно ассемблер? масм, тасм или еще какой?
Здравствуйте, mizuchi, Вы писали:
M>Здравствуйте, Elena_E, Вы писали:
E_E>>Нужно переписать некий код, написанный на С, чтобы увеличить производительность. E_E>>Код связан с вычислениями, шифрованием, сложными хэш-функциями(например реализовать команды AES для процессоров не поддерживающих AES-NI). E_E>>Архитектура x86-32 и x86-64. E_E>>Оплата будет сдельная, и будет зависеть от того, насколько получится увеличить производительность. E_E>>Мы готовы оплатить, только если будет результат (хотя бы, увеличение производительности на 10%). E_E>>Мы НЕ готовы оплачивать потраченное время, если результата не будет.
M>программист должен рисковать своим временем и силами — в *лучшем* случае он получит оплату.
M>чем рискует заказчик в данном случае?
Здравствуйте, MScanner, Вы писали:
MS>Здравствуйте, rooter, Вы писали:
R>>О! ассемблер — это вещь!
MS>Хорошо написанный код на С++ даст такую же производительность , а может и лучшую , чем код на АСМ.
MS>Человек хорошо пишущий на АСМ, сможет хорошо написать и на С++, с точки зрения оптимизированного кода
Люди, ведь, не знаете о чем пишете. Криптография с открытым ключом использует арифметику на больших числах — это переносы на сложении, вычитании и умножении. Реальный пример: mbed TLS — написана на C и переносы между 8-и байтными числами написаны на С. Компилятор просто не знает, что это код переноса. Нужны иснтрукции SBB, ADC и пр. У OpenSSL специфичная лицензия — его использовать нельзя. Есть много математических методов для решения той же операции умножения точки в элиптических кривых и OpenSSL использует только одну из них, есть альтернативные. Используются разные методы предвычислений. WolfSSL отнсительно недавно, как раз во время этого поста, опубликовал резултаты, по которым обогнал OpenSSL.
Здравствуйте, bnk, Вы писали:
bnk>А в чём проблема-то? Платят за результат, за решение проблемы. На всяких апворкпх это "fixed price". bnk>Обьективный критерий успеха есть — увеличение производительности на 10% bnk>А вот ценник хорошо бы озвучить, да.
на апворках даже с фиксед прайс как правило поэтапно платят
В предложенной задаче как минимум 2 этапа
— разобраться с тем кодом который есть — это должно быть оплачено
— если исполнитель решит что способен ускорить на 10% — то берется и оплата по факту
а вписываться на кота в мешке не зная что там под капотом — ни один нормальный оптимизатор не будет
Здравствуйте, smeeld, Вы писали:
S>Вообще какое-то странное предложение. Очень похоже на необходимость оптимизации софта для исполнения строго на маломощном железе при невозможности использования более мощного (мощное железо стоит дешевле разрабов). Очень похоже на предложение со стороны отечественных производителей аплайнсов для оборонки.
Ограничения могут быть по мощности, тепловыделению или стоимости. Когда речь идеть о миллионах устройств, то разница даже в 50 центов играет совсем другими красками.
Здравствуйте, reversecode, Вы писали:
R>узнайте про библиотеку openssl R>там уже все оптимизировано для разных процессоров
Там все довольно средненько оптимизированно. Кроме тех случаев, когда оптимизация сводится к применению правильной команды процессора, которая сама все делает.
Здравствуйте, mizuchi, Вы писали:
M>программист должен рисковать своим временем и силами — в *лучшем* случае он получит оплату.
Программист может заложить риски в обозначенную сумму оплаты.
Вот к примеру, я вовсе не уверен, что я переплюну openssl'ную реализацию AES. Но за $30K готов рискнуть. Вопрос в том, готова ли Elena_E заплатить эти деньги в случае успеха.