Python Forum
Need an alternative to brute force optimization loop
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Need an alternative to brute force optimization loop
#4
Why so cagey?

Tell us what the functions and variables are!

As the guys said, np is faster than Python.

Quote:It is sometimes said that Python, compared to low-level languages such as C++, improves development time at the expense of runtime.

For this example, from realpython.com, numpy is nearly 100 times faster:

import numpy as np
from timeit import timeit

def profit(prices):
    max_px = 0
    min_px = prices[0]
    for px in prices[1:]:
        min_px = min(min_px, px)
        max_px = max(px - min_px, max_px)
    return max_px

def profit_with_numpy(prices):
    """Price minus cumulative minimum price, element-wise."""
    prices = np.asarray(prices)
    return np.max(prices - cummin(prices))

cummin = np.minimum.accumulate
# compare speeds
seq = np.random.randint(0, 100, size=100000)
setup = ('from __main__ import profit_with_numpy, profit, seq;' ' import numpy as np')
num = 250
pytime = timeit('profit(seq)', setup=setup, number=num)
nptime = timeit('profit_with_numpy(seq)', setup=setup, number=num)
print('Speed difference: {:0.1f}x'.format(pytime / nptime))
Output:
Speed difference: 93.5x
Reply


Messages In This Thread
RE: Need an alternative to brute force optimization loop - by Pedroski55 - Dec-01-2023, 09:13 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Twilio alternative jmair 3 3,992 Feb-08-2024, 01:55 PM
Last Post: Sharmi
  Pillow alternative? kucingkembar 4 964 Jul-27-2023, 10:50 AM
Last Post: Larz60+
  Solving an equation by brute force within a range alexfrol86 3 2,948 Aug-09-2022, 09:44 AM
Last Post: Gribouillis
  force a program to exit ? Armandito 3 2,684 May-12-2022, 04:03 PM
Last Post: Gribouillis
  How to use scipy.optimization.brute for multivariable function Shiladitya 9 6,458 Oct-28-2020, 10:40 PM
Last Post: scidam
  Alternative for Cairosvg? Maryan 0 2,527 Oct-26-2020, 01:27 PM
Last Post: Maryan
  best way to force an exception Skaperen 2 2,128 Oct-21-2020, 05:59 AM
Last Post: Gribouillis
  I need advise with developing a brute forcing script fatjuicypython 11 5,327 Aug-21-2020, 09:20 PM
Last Post: Marbelous
  another alternative to np.interp evelynow 1 3,009 Aug-22-2019, 03:32 PM
Last Post: Larz60+
  Multithreading alternative MartinV279 1 2,849 Aug-01-2019, 11:41 PM
Last Post: scidam

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020