Python Forum
What is the equivalent python code for c program?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What is the equivalent python code for c program?
#8
Doing this test with ramp up time, and adding return statement to
all, as build_up 1 had, a print statement, and 1000 iterations:

build_up was faster than build_up1 by a factor of 2
And build_up 3 disqualifies as it returns wrong answer.

import time
import numpy as np


def build_up():
    outbox = [0, 0, 64, 65]

    d = outbox[3] << 24 | outbox[2] << 16 | outbox[1] << 8 | outbox[0]
    member = float(d)
    return member

def build_up1():
    member = float(sum([i << s for i, s in zip([0, 0, 64, 65], [0, 8, 16, 24])]))
    return member

def build_up2():
    array = np.array((0, 0, 64, 65), np.int32) << np.array((0, 8, 16, 24), np.int32)
    d = np.sum(array)
    member = np.array((d, 0))
    member.dtype = np.float32
    return member


def main():
    #Throw on away, statr up overhead
    member = build_up()

    t0 = time.clock()
    for x in range(1000):
        member = build_up()
    t1 = time.clock()
    print(f'Float output = {member}')
    print(f'time build_up: {(t1-t0)/1000}')


    t0 = time.clock()
    for x in range(1000):
        member = build_up1()
    t1 = time.clock()
    print(f'Float output = {member}')
    print(f'time build_up1: {(t1-t0)/1000}')


    t0 = time.clock()
    for x in range(1000):
        member = build_up2()
    t1 = time.clock()
    print(f'Float output = {member}')
    print(f'time build_up2: {(t1-t0)/1000}')

if __name__ == '__main__':
    main()
Output:
Float output = 1094713344.0 time build_up: 4.671965315329499e-07 Float output = 1094713344.0 time build_up1: 9.267131200817964e-07 Float output = [ 12. 0.] time build_up2: 4.925915430003848e-06
Reply


Messages In This Thread
RE: What is the equivalent python code for c program? - by Larz60+ - Jan-09-2018, 03:55 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Python equivalent of Matlab code kwokmaster 5 7,295 Apr-03-2020, 12:02 AM
Last Post: scidam

Forum Jump:

User Panel Messages

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