How to make a prime decomposition function faster?

I want to make a prime decomposition function faster, but it needs to use a precomputed list of primes. This is what I have so far:

def decompose(n):
    factors = dict()
    m = n
    while m > 1:
        for i in prime_list:
            if i > m:          
                break               
            else:
                if m%i == 0:
                    m = m//i
                    if i in factors.keys():
                        factors[i] += 1
                    else:
                        factors[i] = 1
                            
    return factors

Where prime_list is obviously the precomputed list of primes. Any help is much appreciated :)

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum