Como Rodar Código em Paralelo no Python – Como Acelerar o seu Código

CLIQUE AQUI PARA SABER MAIS SOBRE O CURSO COMPLETO PYTHON IMPRESSIONADOR:
https://lp.hashtagtreinamentos.com/esperapythonimpressionador?origemurl=hashtag_yt_org_listaesperapython_maj47xd_R7g

PARA BAIXAR O MINICURSO GRATUITO DE ANÁLISE DE DADOS: http://pages.hashtagtreinamentos.com/inscricao-minicurso-analisededados-python?origemurl=hashtag_yt_org_minipython_maj47xd_R7g

———————————————————————–

► Arquivos Utilizados no Vídeo: https://pages.hashtagtreinamentos.com/arquivo-python-1cLZlDIxZiTXuKrYFiRlu00bEXeP3qoMZ?origemurl=hashtag_yt_org_planilhapyt_maj47xd_R7g

► Vídeo de Instalação do Jupyter: https://youtu.be/_eK0z5QbpKA

► Vídeo de List Comprehension no Python: https://youtu.be/M2zL6LnQwkw

► Vídeo para Calcular Tempo de Execução de Código em Python: https://youtu.be/3ofsvEUzXCE

———————————————————————–

Caso prefira o vídeo em formato de texto: https://www.hashtagtreinamentos.com/rodar-codigo-em-paralelo-no-python

———————————————————————–

Hoje eu quero te mostrar como rodar código em paralelo no Python! Isso vai fazer com que você possa acelerar código em Python, ou seja, pode rodar os códigos mais rápidos!

Já imaginou aquele código que demora 30 minutos, 45 minutos ou até 1 hora pra rodar fazendo isso em menos tempo?

Isso tudo é possível com a utilização da biblioteca joblib que vai permitir com que você execute códigos em paralelo no Python, ou seja, você vai executar código ao mesmo tempo.

Na estrutura de repetição for por exemplo, nós executamos cada linha do código de cima para baixo e só vamos para a próxima execução quando a atual acabar.

Com esse código que eu vou te mostrar você vai conseguir executar 2, 3 ou até mais etapas de uma só vez, só vai depender de quantos cores o seu computador tem.

Então quanto mais potente for o seu computador mais rápido vai conseguir rodar o seu código.

Bora pra aula aprender como executar código em paralelo no Python e deixar seus códigos mais rápdios?

———————————————————————–

Hashtag Programação

► Inscreva-se em nosso canal: http://bit.ly/3c0LJQi
► Ative as notificações (clica no sininho)!
► Curta o nosso vídeo!

———————————————————————–

Redes Sociais

► Blog: https://bit.ly/2MRUZs0
► YouTube: http://bit.ly/3c0LJQi
► Instagram: https://bit.ly/3o6dw42
► Facebook: http://bit.ly/3qGtaF2

Aqui nos vídeos do canal da Hashtag Programação ensinamos diversas dicas de Python para que você consiga se desenvolver nessa linguagem de programação!

———————————————————————–

#python #hashtagprogramacao

Source: Hashtag Programação

38 Comentários:

TheMarcosVerissimo

Lira, bela dica. Só que aí tem alguns problemas. Acho que o maior problema do seu código é que ele está acessando disco. Se ele tenta abrir arquivos em paralelo no mesmo disco rígido, ele não consegue. Acesso a disco rígido é uma das coisa mais ineficientes que há, e que mais toma tempo. Quando você roda o código pela segunda vez, é capaz de ele estar indo mais rápido por já saber onde ele deve procurar o início do arquivo no HD. Python executado em jupyter notebooks mantém muita coisa em memória após o fim da execução, enquanto o kernel não for reiniciado. Não me surpreenderia se ele mantivesse o endereço do início de cada arquivo, uma vez que na segunda vez que vc rodou o código praticamente não houve execução que fosse menos eficiente em paralelo. A comparação de desempenho para o paralelismo provavelmente seria muito mais eficiente “de cara” se, para cada arquivo de Excel, você já mantivesse os dados em dataframes pandas diferentes (ou uma lista de dataframes pandas) e comparasse os tempos para processar a lista de dataframes serialmente e em paralelo. Aí eu chutaria que seria praticamente garantido que em paralelo o processo seria sempre mais rápido. Para implementar isso, seria interessante implementar uma function que lesse os arquivos e os armazenasse em alguma estrutura tipo lista. Aí você usaria uma function serial e uma paralelizada para processar os dados nas listas e comparar o desempenho. Acho que poderia ser um vídeo interessante pro canal. Apesar de já ser “computeiro” há tempo, só há pouco estou aprendendo Python, e muitos dos teus vídeos ajudam bastante. Parabéns, garoto.

Ricardo Costa

Este Lira é o melhor professor que já conheci na minha vida. Fantástico.

Alvaro Machado de Lima

Sempre os melhores conteúdos sobre Python! Parabéns!

Luís Guilherme Ferreira Bizzi

Muito obrigado!! Semanas atrás estive na busca desse conteúdo, porém estava complicado achar algo tão bem detalhado em vídeo, principalmente em Português!

Alysson Machado

Fenomenal essa dica, para quem trabalha com Data Science é uma mão na roda

Klinger André Almeida

Muito bom, parabéns. Gostaria de sugerir um video usando o aiohhtp executando vários put’s ao mesmo tempo.

Fernando Durso

Excelente vídeo. A provável causa das demoras é que o Python é uma linguagem interpretada, quando você manda executar, ele primeiro tem de compilar o bytecode e depois faz a execução propriamente dita. Por isso sempre na primeira vez que você executa ou altera alguma coisa fica mais lento, nesses casos ele tem de reescrever o bytecode. Se você apenas manda executar, provavelemente o Jupiter, não o python, deve verificar que não houve mudança no código e executa o bytecode em cache…

Anderson Siqueira de Oliveira

Opa Lira todos os teus videos nota um milhão, seria interessante de fazer uma video para gerar uma chave de lincença e validar ela na sua aplicação.

Pedro Costa

Muito interessante, útil e intuitiva, mas eu também gostaria de aprender a executar trechos diferentes do código ao mesmo tempo. Isso é possível?

Bruno Souza

Qual a diferença de fazer dessa forma ou utilizando um método async?

Matheus Silva

Mais um video muito bom. Por favor tem como fazer interação do python com a api de pix do mercado livre? Obrigado.

Alexandre Menezes Ferreira

Muito bom! Valeu!

Bolsonaro Kpoper

Caraca, tava precisando de mais, tô fazendo um brute force, agora dividindo em uma caralhada de parte é beeeeem mais rápido

Marcelo Magalhães

Neste caso, não seria melhor escrever o código em Cython? Acredito que em termos de eficiência seja a melhor opção para o caso em questão no momento em que escrevo.

KernelGM

Já chego dando o like. kkk Quero a série de python voltado a objetos em… ta devendo!. kkkk

Anderson Leandro

Sou aluno de vcs…podiam fazer um video sobre asyncio, multiprocessing, etc…

Tiago Horstmann

EXCELENTE! Melhorou demais a performace do meu script! Mas não estou conseguindo implementar um “contador” dentro da função. meu for tinha uma variável contador, inicialmente = 0, que ia incrementando a cada loop para acrescentar esse número ao nome de um novo arquivo e também para printar quantas vezes o loop tinha sido executado corretamente. Alguma dica, Lira?!

Jik

Fazem uma aula ensinando a usar sockets.

Victor Santos

Cara, eu tava tentando fazer isso com Modin[ray] e não tava rolando de jeito nenhum, desse jeito ai funcionou. Muito obrigado!

Darlene Dullius

Como poderia implementar para um função já existente com multiplos argumentos? Sendo que um deles é um vetor

junior jr

A Didática sua e excelente

Alex Xopo

O melhor conteúdo do youtube. Eu tava assistindo uma lives gravadas e vc tirou do ar, porque ?

Diogo Batista

Sei que não tem nada haver com o assunto do vídeo, mas alguém sabe me dizer como alterar um input depois que o código tiver rodando? Ex: fiz um codigo que calcula o markuo pra empresas, porém esse código existe valores fixos e variáveis, e tudo isso o ”cliente” digita é ele que bota o valor lá nos inputs, porém eu queria um programa que o cliente digite lá todos os inputs com os valores que ele quer, e vê o resultado , e depois modificar apenas algum valor especifico dentro do codigo, mas no meu caso agora pra mim modifica um valor especifico eu tenho que rodar o programa de dnv e digitat tudo dnv.

Cleyson Lago

Bacana. Qual a diferença principal entre usar o Parallel e Threads? E como se chama essa duplicidade de parênteses no parâmetro da função ( ex: funcao(param)(param) ) ? Obrigado!

NDD Mais

Muito bom.

NDD Mais

Se pudesse , fazer um video, mostrando video em pipeline, em streaming.

Rodrigo Sousa

top demais, vcs ja fizeram algum bot para realizar trades na binance ou similar?

matheus teixeira

fala também sobre o async

Leandro Ferreira

Top demais

Estiven Leite

Boa tarde, amigo eu tenho um cogico simples, exemplo: ele abri o navegador e faz o o login de acesso, e eu queria isso acontecesse com a janela minizada, ou seja ou posso fazer outra atividade no meu pc que tarefa do cogido não vai ser interrompida, consegue me ajudar com algum exemplo mais simples

Caio Gadanha

Quando será o próximo Intensivão em Python??? @Lira

Paulo Jr.

Videooo Top!!!

Rafael Kon Tein

Parece que tudo que preciso vcs tem kkk

Hemerson Lima

Não entendi porque ele retirou o “for” da função…

Misael Bomfim

Eu preciso de um código que leia todas as linhas de uma planilha e procure uma inconsistência, alguém consegue me ajudar?

Alex Xopo

sugestão, chat em p2p

~Netinho

Pq não usou o AsyncIO como todo mundo?

Lanby λ

Lira troll

ATENÇÃO: Os comentários não correspondem a opinião do proprietário deste site e foram extraídos de forma automática. Este artigo não possui fim comercial e tem por objetivo apenas o estudo da tecnologia Selenium. Caso algum comentário aqui presente seja abusivo ou fira alguma lei, favor nos informar para que possamos removê-lo o mais rápido possível.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima