SlideShare a Scribd company logo
1 of 25
Download to read offline
Devel::PPAP
       Руслан Закиров
5 миллионов чисел
1
23
456
2 секунды
         256 символов
https://www.spoj.pl/problems/SUMITR/
Devel::NYTProf
      ....
    gprof
PP
Push-Pop функции
     Дерево
pp_shift
pp_push
pp_print
 pp_...
  3xx
 pp*.c
Для кого
Для меня
Для программистов
describe_array(...) {
...
/* if ( size > 1000 )
  Perl_warner(...
    «Big array used: ...»
  ); */
Для p5p
Интересные
 Находки
shift;
shift;
    →
  pp_gv
pp_rv2av
 pp_shift
shift;
           →
pp_shift + Opf_SPECIAL
1%
5%
25%
33%
Массивы
|....|.....|....|
shift @;
 ||......||
    →
 |.|.....||
push @, 1;
    ||||
    →
  ||.|...|
unshift @, 1;
    |.|..||
      →
   ||....||
unshift @, 1;
     ||....||
       →
   |.|.....|..|
 ||......|......|
shift+push
   ||....||
     →
   |.|...||
 ||....|....|
http://github.com
 /ruz/Devel-PPA
Вопросы?

More Related Content

What's hot

Cgroup и их использование в бк
Cgroup и их использование в бкCgroup и их использование в бк
Cgroup и их использование в бкYandex
 
Графика в Паскаль
Графика в ПаскальГрафика в Паскаль
Графика в Паскальstarsboy
 
«Анимация в PascalABC»
«Анимация в PascalABC»«Анимация в PascalABC»
«Анимация в PascalABC»ValiaKuba
 
implementation of 'go'-like language constructions in scala (russian)
implementation of 'go'-like language constructions in scala (russian)implementation of 'go'-like language constructions in scala (russian)
implementation of 'go'-like language constructions in scala (russian)Ruslan Shevchenko
 
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Unigine Corp.
 
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...pgdayrussia
 
Управление памятью в GO
Управление памятью в GOУправление памятью в GO
Управление памятью в GOssuserb5dd93
 
Оптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноОптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноVitebsk DSC
 
Методы поиска уязвимостей в программах
Методы поиска уязвимостей в программахМетоды поиска уязвимостей в программах
Методы поиска уязвимостей в программахVasiliy Shapovalov
 
Методы поиска уязвимостей
Методы поиска уязвимостейМетоды поиска уязвимостей
Методы поиска уязвимостейsolertia
 
12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...
12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...
12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...Ontico
 
Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?PyNSK
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?tfmailru
 
Типичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsSerge Shirokov
 
Мир Python функционалим с помощью библиотек
Мир Python  функционалим с помощью библиотекМир Python  функционалим с помощью библиотек
Мир Python функционалим с помощью библиотекPyNSK
 

What's hot (19)

Cgroup и их использование в бк
Cgroup и их использование в бкCgroup и их использование в бк
Cgroup и их использование в бк
 
Vim or die
Vim or dieVim or die
Vim or die
 
Графика в Паскаль
Графика в ПаскальГрафика в Паскаль
Графика в Паскаль
 
«Анимация в PascalABC»
«Анимация в PascalABC»«Анимация в PascalABC»
«Анимация в PascalABC»
 
графика Pascal ABC
графика Pascal ABCграфика Pascal ABC
графика Pascal ABC
 
Progr labrab-4-2013-c++
Progr labrab-4-2013-c++Progr labrab-4-2013-c++
Progr labrab-4-2013-c++
 
implementation of 'go'-like language constructions in scala (russian)
implementation of 'go'-like language constructions in scala (russian)implementation of 'go'-like language constructions in scala (russian)
implementation of 'go'-like language constructions in scala (russian)
 
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
 
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
 
Управление памятью в GO
Управление памятью в GOУправление памятью в GO
Управление памятью в GO
 
Оптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноОптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильно
 
Методы поиска уязвимостей в программах
Методы поиска уязвимостей в программахМетоды поиска уязвимостей в программах
Методы поиска уязвимостей в программах
 
Методы поиска уязвимостей
Методы поиска уязвимостейМетоды поиска уязвимостей
Методы поиска уязвимостей
 
Array Work C
Array Work CArray Work C
Array Work C
 
12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...
12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...
12 вариантов использования Redis — в Tarantool (Александр Календарев, Констан...
 
Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
 
Типичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.js
 
Мир Python функционалим с помощью библиотек
Мир Python  функционалим с помощью библиотекМир Python  функционалим с помощью библиотек
Мир Python функционалим с помощью библиотек
 

Devel::PPAP