Архив метки: Pattern

Android: как прочитать файл в массив byte[]

Задача, конечно, тривиальная, но именно подобные задачи плодят тучу четырехколесных велосипедов. Ударим паттерном по велосипедам!

Рубрика: На заметку | Метки: , , , | Добавить комментарий

Python: Пул процессов — параллельные вычисления

Посчитаем сумму простых чисел в диапазоне от 5000000 до 6000000 загрузив все процессорные ядра. Так как GIL в обычном CPython делает паттерн пул потоков совершенно неэффективным, реализуем для наших параллельных вычислений пул из процессов, воспользовавшись стандартным модулем multiprocessing. 

Рубрика: На заметку | Метки: , , , | Добавить комментарий

Python: Memoization или кеш результатов вычислений

Memoize (или мемоизация)- это паттерн оптимизации вычислений. Он очень маленький и простой, но может оказаться очень полезным в некоторых случаях: def memoized(f): memory = {} def wrapper(*args, **kwargs): key = (tuple(args), hash(tuple(sorted(kwargs.items())))) if not key in memory: memory[key] = f(*args, … Читать далее

Рубрика: На заметку | Метки: , , | Добавить комментарий