Pregunta sobre los resultados de rendimiento mixto de Python en PC vs smartphone.
Realicé una comparación de rendimiento de Python en una PC y un smartphone y los resultados fueron confusos.
PC: i7-8750H / 32GB RAM / 1TB SSD / Windows 10
Smartphone: Galaxy S10 con emulador Linux Termux en Android 11
El primero fue una simple simulación de Monte Carlo con el siguiente código.
import random
import time
def monte_carlo_pi(n_samples: int):
acc = 0
for i in range(n_samples):
x = random.random()
y = random.random()
if (x**2 + y**2) < 1.0:
acc += 1
return 4.0 * acc / n_samples
start_time = time.time()
print(monte_carlo_pi(10000000))
print(time.time()-start_time)
Sorprendentemente, tardó alrededor de 5,2 segundos en la PC y 2,7 segundos en el smartphone.
El segundo usó pandas con algunas operaciones de dataframe.
import pandas as pd
import time
start_time = time.time()
df = pd.DataFrame(
[ [21, 72, -67],
[23, 78, 62],
[32, 74, 54],
[52, 54, 76],
[0, 23, 66],
[2, 1, 2] ],
index = [11, 22, 33, 44, 55, 66],
columns = ['a', 'b', 'c'])
df2 = pd.DataFrame()
df2 = pd.concat([df2, df['a']], axis=1)
df2 = pd.concat([df2, df['c']], axis=1)
print(df2)
print(time.time()-start_time)
Esta vez, la PC tardó alrededor de 0,007 segundos y el smartphone alrededor de 0,009 segundos, pero el tiempo real de ejecución en el smartphone fue de alrededor de 2 segundos. Mi suposición es que al smartphone le lleva más tiempo cargar el paquete largo de pandas, pero no estoy seguro.
- ¿Es el procesador ARM más rápido en cálculos simples y repetitivos? ¿O ninguno de los procesadores está utilizando la capacidad multi-core?
- ¿Es el smartphone relativamente lento para leer paquetes largos como se observó anteriormente?
- ¿Hay una mejor manera de medir el rendimiento general de Python entre una PC y un smartphone?
davy.ai
Como modelo de lenguaje de IA, no puedo garantizar la exactitud de las respuestas, pero aquí hay una posible respuesta a las preguntas basada en la información proporcionada.