Встреча LUG-а в сентябре 2011 (для первокурсников)

Тема в разделе "Группа пользователей Линукс МИФИ - MEPhI Linux Use", создана пользователем DmitryEfanov, 30 авг 2011.

  1. AlexKuk

    AlexKuk Корумчанин

    Вот код: https://gist.github.com/1341688#file_ticket_solver.py

    На pypy 1.6 (http://pypy.org/) проходит все тесты за 6.266 секунды. Околосишные скорости на Питоне возможны.

    На самом деле, если ничего не придумывать, получилось бы время как у Луы (как его склонять-то? =)). Но ещё на встрече парень из Мгу заметил, что многие решения билетика похожи и если это учесть, перебор ускоряется примерно в пять раз.
  2. RPG

    RPG Активный корумчанин

    а сишный вариант за сколько?

    P.S. на моей машине за 8 секунд с pypу и за минуту на голом питоне. на самом деле я думал у меня будет раза в 3 медленнее. Представляю как седж с руру бы поднялся.

    ЗЫ посмотрел алгоритм - там что-то совсем ядрёное, от стараго я так понял не осталось и следа?
  3. RPG

    RPG Активный корумчанин

    После часа вглядывания в чокнутый питоний синтаксис я так понял там есть какая-то оптимизация плюс вычисление по стеку а не рекурсии, то есть по хорошему мне нужно провести ту же оптимизацию. Но боюсь луа тогда порвёт всех как тузик грелку:
    time ./luajit ticket_jit2.lua < tests > out
    real 0m8.477s
    user 0m8.469s
    sys 0m0.000s

    питон - 7 секунд.

    Это старый код, который я просто адаптировал под чтение данных из стдин.
  4. AlexKuk

    AlexKuk Корумчанин

    А что такое ticket-jit2.lua? Рекурсию можно на самом деле было и оставить, переход на стек ничего не дал. Там должно быть все понятно кроме первой функции ^_^ , нет разве?
  5. AlexKuk

    AlexKuk Корумчанин

    И еще ты когда запускал, заметил как она прикольно ускоряется после 15 билетиков ?
  6. AlexKuk

    AlexKuk Корумчанин

    Сейдж нельзя запустить на пайпай потому что пайпай немножко не поддерживает тот питон которым пользуется Сейдж
  7. RPG

    RPG Активный корумчанин

    Более того скажу что в луа если сделать "правильную оптимизацию" - развернуть рекурсию, вместо кучи ссылок сделать if - скорость проседает аж в три раза.

    ticket-jit2.lua - это и есть переделанный под твои билеты скрипт.

    Я тестировал с выводом в файл, с выводом в консоль скорость неоправданно снижается особенно у луа.

    Плохо. У максимы на лиспе вон скорость практически к плюсовой приближается.
  8. AlexKuk

    AlexKuk Корумчанин

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

    Слушай, а почему Луой так мало пользуются? Похоже он действительно быст и я слышал, что вообще язык сам по себе интересный
  9. RPG

    RPG Активный корумчанин

    Что значит мало? Просто это не ЯП общего назначения, а встраиваемый язык, сразу ориентирован на тесную связь с сишной программой. Обычно на луа делают плагины или логику в играх. Один WoW со своими модулями на луа чего стоит.
    К тому же луа и без жита и так очень быстрый для интерпретатора размером в 50 кб, потребление памяти соответствует. Жит конечно в несколькораз больше - 300 кб, но это ни в какое сравнение с пайпай.

    Язык интересен тем, что повторяет идеологою JavaScript (да, JavaScript похож на луа гораздо больше, чем на Java), то есть прототип-ориентированное программирование со всякими лямбдами и замыканими.

    PS не все правда любят/понмают прототипы^_^
  10. katarsis

    katarsis Активный корумчанин

    луа используется активно в ембеддед
  11. AlexKuk

    AlexKuk Корумчанин

    Век живи -- век учись =) Я слышал о Луа, но не разу в жизни не видел ни строчки кода на этом языке.
  12. RPG

    RPG Активный корумчанин

    Ровно как я - на питоне. Просто зависит от того с чем работать.
  13. RPG

    RPG Активный корумчанин

    Выложил наши изыскания по части билетов на Rosettacode - на питоне реализация там уже есть, поэтому я добавил на луа. http://rosettacode.org/wiki/24_game/Solve#Lua

    Там это 24 game, но принцип тот же: дано 4 числа, нужно используя математику получить результат 24. Разница в том, что там ещё добавляются перестановки.

    Можно в принципе добавить туда Maxima:)
  14. rafic

    rafic Новичок

    Пожалуйста,напишите сайт линуксоидов официальный.
  15. xaionaro

    xaionaro Корумчанин

    Пусть сначала кто-нибудь его спроектирует. А это должно выполняться вместе с руководителем LUG-а ^_^
  16. rafic

    rafic Новичок

    на этом сайте много информации о "линуксе".напишите,пожалуйста,кто знает.
  17. xaionaro

    xaionaro Корумчанин

    Во-первых, на этом сайте информации мало. Во-вторых написать кто знает что?
  18. DmitryEfanov

    DmitryEfanov Осваивается на коруме

    О чем идет речь? lug.mephist.ru?
  19. Nick_

    Nick_ ¡No pasarán! VIP

    По-моему, вы разговариваете с ботом ^_^
  20. rafic

    rafic Новичок

    Спасибо за сайт,извините,что не отвечала)

Поделиться этой страницей