Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Chrome 131
Windows
Desktop
5 months ago
Test name Executions per second
Test #1 bubble_sorted_array 0.0 Ops/sec
Test#2 efficient_sorted_array 279.7 Ops/sec
HTML Preparation code:
AخA
 
1
<script src='https://cdn.jsdelivr.net/pyodide/v0.26.3/full/pyodide.js'></script>
Script Preparation code:
x
 
async function globalMeasureThatScriptPrepareFunction() {
    window.globalPyodide = await loadPyodide();
    console.log(globalPyodide.runPython('import sys; sys.version'));
    await globalPyodide.loadPackage('numpy');
    await globalPyodide.runPython(`
        import numpy as np
        import random
        def bubble_sort(arr):
            n = len(arr)
            for i in range(n):
                for j in range(0, n-i-1):
                    if arr[j] > arr[j+1]:
                        arr[j], arr[j+1] = arr[j+1], arr[j]
            return arr
        def efficient_sort(arr):
            return sorted(arr)
        def generate_random_array(size, lower_bound, upper_bound):
            return [random.randint(lower_bound, upper_bound) for _ in range(size)]
        # Generate a random array
        random_array = generate_random_array(250, 1, 500000)
        print("Original array:", random_array)
    `);    
}
Tests:
  • Test #1 bubble_sorted_array

     
    window.globalPyodide.runPython(`
        bubble_sort(random_array.copy())
    `);
  • Test#2 efficient_sorted_array

     
    window.globalPyodide.runPython(`
        efficient_sort(random_array.copy())
    `);