swizard (swizard) wrote,
swizard
swizard

Categories:

Мемуары

Наткнулся в инете на некий материал на мерзком хабрахабре, с которым я, тем не менее, согласен.

Внизу там обнаружился следующий комментарий:
... Реализация какой-то (лент искать) задачи на CL порадовала. Алгоритм был реализован точно, но предварительно генерировался высокопроизводительный машинный код в зависимости от конкретных входных параметров. :3 Работала за 0.7 времени gcc, при том что время компиляции включалось в рантайм, в отличие от gcc. Помечена альтернативной. В других случаях алгоритм вообще слабо напоминает официальный — альтернативным не помечается.


Собственно, речь там идет о моем варианте решения задачи о блинчиках, который я некогда с торжеством преподнес в своем блоге. Я в то время решил с энтузиазмом взяться за шутаут и подтянуть там SBCL на топовые позиции.

К сожалению, энтузиазм у меня быстро угас, когда сначала сняли мой fannkuch-redux, а затем не приняли мою версию mandelbrot.

В первом случае история была такая: пришел автор жабьего варианта и засабмитил "аналог" моего решения, только на жабе. Разумеется, никакого DSL там не было -- все циклы он нарисовал и раскрыл руками, причем только вплоть до некоторого предела (вроде бы до N=12). Коментарий к решению был примерно следующий: "Я не против, если это решение уйдет в альтернативные, но, блядь, в лиспе-то щас то же самое ведь!".

На это прибегает админ shootout и пишет мне: "Это че, правда?". Я типа: "Нет, конечно. Я ничего не делаю руками, да и, вообще, мое решение может посчитать N=13 и дальше, в отличие от жабьего.". Админ ничего не понял и переспросил: "Кто циклы-то расклеивает, ты или компилятор?". Я такой: "Компилятор ессно, там же макрос! Ты глазами листинги сравни.". Тем не менее, через день мое решение было снято и перенесено в альтернативные варианты.

Ну ладно, я здесь даже попытался понять админа -- типа того, что решение обязательно должно реализовывать честный цикл. Хотя все равно неясно, почему, когда компилятор gcc его оптимизирует анроллом, то это нормально, а когда это же самое делает мини-компилятор моего собственного DSL -- это типа нарушение правил?

Тем не менее, мое терпение лопнуло, когда админ забраковал мой mandelbrot из-за того, что я там воспользовался псевдо-ассемблером SBCL (vop-ами) для доступа к SSE. Ну еб вашу мать -- у вас же рядом в рейтинге лидирует сишная версия, которая делает то же самое, только специальными конструкциями GCC?!

Короче, в итоге я просто тупо плюнул и забил на это дело вообще. Куда-то бежать бычить я не стал, потому что позиция админа предельно ясна и симпатична мне: "Не нравится -- сделай свой бенчмарк-портал со своим блэкджеком".

Вот как-то так все было :)
Tags: code, common lisp, fail, fannkuch, fannkuch-redux, java, lisp, mandelbrot, results, shootout
Subscribe

  • У нас есть Rust, поэтому C++ больше не нужен.

    Просто чудесный пост у thesz, наглядно демонстрирующий мой лозунг из сабжа. Давайте пройдёмся по пунктам: > Большое неудобство,…

  • а вот, например, ещё вакансии

    Собственно, образовалась ещё вакансия. Нам нужно несколько человек, задач много, они все (как это водится) инновационные и интересные, минимум…

  • Послеконкурсное

    Отчёт о конкурсе: часть первая и вторая. Тем временем подъехали результаты для lightning- и основного раундов, пока ещё не окончательные, но с…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 77 comments

  • У нас есть Rust, поэтому C++ больше не нужен.

    Просто чудесный пост у thesz, наглядно демонстрирующий мой лозунг из сабжа. Давайте пройдёмся по пунктам: > Большое неудобство,…

  • а вот, например, ещё вакансии

    Собственно, образовалась ещё вакансия. Нам нужно несколько человек, задач много, они все (как это водится) инновационные и интересные, минимум…

  • Послеконкурсное

    Отчёт о конкурсе: часть первая и вторая. Тем временем подъехали результаты для lightning- и основного раундов, пока ещё не окончательные, но с…