Блог пользователя GogolGrind

Автор GogolGrind, 13 лет назад, По-русски

Как видно из цвета моего ника, я новичок в спортивном программировании. Начал примерно год назад, но серьезно увлекся после того, как попал на ICL-2013. Но суть не в этом. Сейчас в основном я стараюсь сдавать задания на Python, но часто происходит так, что у меня выходит тайм лимит, даже если по самым приближенным прикидкам все нормально, и даже если используются быстрые алгоритмы. Но стоит переписать код на С++, ничего не меняя, и все хорошо. Вопрос к вам, опытные питонисты, есть ли какие-то хитрости или советы, как дать питону волшебный пендель для ускорения? Или мне наедятся на Иисуса? Я понимаю, что не я 1 задаю подобный вопрос, но все-таки.

  • Проголосовать: нравится
  • +15
  • Проголосовать: не нравится

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

У вас в посылках единственная задача, которая упала по TL, и та — сдана на C++.

»
13 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Да, есть такое, если весь код завернуть в отдельную функцию, а потом ее вызвать, то обычно получается в 1.5 раза быстрее.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Вот тут есть некоторые хорошие советы.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Спасибо откликнувшимся и поддержавшим :-)