From 5ad68667e249b3d92799e88fb5d8131ee5ff6f18 Mon Sep 17 00:00:00 2001 From: "Paul W." Date: Wed, 2 Oct 2024 22:57:16 -0400 Subject: [PATCH] Add js-bench, odin-lists --- js-bench/for_vs_map.js | 34 +++++++ linked-list-odin/linked-list-odin | Bin 0 -> 330224 bytes linked-list-odin/linked-list.odin | 44 +++++++++ linked-list-odin/linked-list/list.odin | 125 +++++++++++++++++++++++++ 4 files changed, 203 insertions(+) create mode 100644 js-bench/for_vs_map.js create mode 100644 linked-list-odin/linked-list-odin create mode 100644 linked-list-odin/linked-list.odin create mode 100644 linked-list-odin/linked-list/list.odin diff --git a/js-bench/for_vs_map.js b/js-bench/for_vs_map.js new file mode 100644 index 0000000..ed41e0b --- /dev/null +++ b/js-bench/for_vs_map.js @@ -0,0 +1,34 @@ +const x = []; +for (let i = 0; i < 50_000_000; i++) { + x[i] = Math.random(); +} + +const for_test_list = [...x] +const for_timings = [] +for (let i = 0; i < 10; i++) { + const startTime = performance.now() + for (let i = 0; i < for_test_list.length; i++) { + for_test_list[i] * 2 + } + const timeElapsed = performance.now() - startTime + for_timings.push(timeElapsed) + console.log(`for#${i + 1} time: ${timeElapsed.toFixed(4)} ms`) +} +console.log(`Average 'for' time: ${(for_timings.reduce((a,b) => a+b)/for_timings.length).toFixed(4)} ms`) +print_xvals(for_test_list) + +const map_test_list = [...x] +const map_timings = [] +for (let i = 0; i < 10; i++) { + const startTime = performance.now() + map_test_list.map(val => val*2) + const timeElapsed = performance.now() - startTime + map_timings.push(timeElapsed) + console.log(`map#${i + 1} time: ${timeElapsed.toFixed(4)}`) +} +console.log(`Average 'map' time: ${(map_timings.reduce((a,b) => a+b)/for_timings.length).toFixed(4)} ms`) +print_xvals(map_test_list) + +function print_xvals(x) { + console.log(x[0], x[Math.floor(x.length / 2)], x[x.length - 1]) +} diff --git a/linked-list-odin/linked-list-odin b/linked-list-odin/linked-list-odin new file mode 100644 index 0000000000000000000000000000000000000000..81efce5fa4da0a9d35b0faa0ccffc2cad552d696 GIT binary patch literal 330224 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 LQ(A2d+;kkdtD#(+ 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 z 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

vqmwzfc^2_Snqo1JM4+_Y3e&Wdmy> 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 literal 0 HcmV?d00001 diff --git a/linked-list-odin/linked-list.odin b/linked-list-odin/linked-list.odin new file mode 100644 index 0000000..05425f1 --- /dev/null +++ b/linked-list-odin/linked-list.odin @@ -0,0 +1,44 @@ +package main + +import "core:fmt" +import ll "linked-list" + +main :: proc() { + + list := ll.init(f32) + list.data = 1 + fmt.println(list) + defer ll.deinit(list) + + + ll.append_value(list, 5) + fmt.println("append 5", ll.to_string(list)) + ll.append_value(list, 5) + fmt.println("append 5", ll.to_string(list)) + ll.remove(&list, 5) + fmt.println("remove 5", ll.to_string(list)) + ll.append_value(list, 5) + fmt.println("append 5", ll.to_string(list)) + ll.remove_all(&list, 5) + fmt.println("remove_all 5", ll.to_string(list)) + + ll.prepend_value(&list, 101) + fmt.println("prepend 101", ll.to_string(list)) + ll.remove(&list, 101) + fmt.println("remove 101", ll.to_string(list)) + + temp :: struct { + lol: i32, + yes: bool + } + struct_ll := ll.init(temp) + defer ll.deinit(struct_ll) + struct_ll.data = {lol=1} + fmt.println(ll.head(struct_ll)) + fmt.println(ll.tail(struct_ll)) + for i in 0..<100_000 { + ll.append_value(struct_ll, temp { lol = i32(i), yes = i % 2 == 0}) + } + fmt.println(ll.to_string(struct_ll)) + fmt.println(ll.tail(struct_ll)) +} diff --git a/linked-list-odin/linked-list/list.odin b/linked-list-odin/linked-list/list.odin new file mode 100644 index 0000000..b7955c4 --- /dev/null +++ b/linked-list-odin/linked-list/list.odin @@ -0,0 +1,125 @@ +package linked_list +import "core:fmt" + +node :: struct($Value: typeid) { + data: Value, + next: ^node(Value), +} + +to_string :: proc(head: ^node($T)) -> string { + curr := head + out: string + counter := 0 + out = fmt.tprintf("[%v]", curr.data) + for curr.next != nil{ + curr = curr.next + if counter >= 8 { + out = fmt.tprintf("%s -> ... -> [%v]", out, tail(curr.next)) + break + } + out = fmt.tprintf("%s -> [%v]", out, curr.data) + counter += 1 + } + + return out +} + +remove :: proc(head: ^^node($T), value: T) { + curr := head^ + pp := head + for curr != nil && curr.data != value { + pp = &curr.next + curr = curr.next + } + + if curr == nil do return + + pp^ = curr.next + free(curr) +} + +remove_all :: proc(head: ^^node($T), value: T) { + curr := head^ + pp := head + for { + for curr != nil && curr.data != value { + pp = &curr.next + curr = curr.next + } + if curr != nil { + pp^ = curr.next + free(curr) + curr = pp^ + } else { + return + } + } +} + +prepend_value :: proc(head: ^^node($T), value: T) -> ^node(T) { + n := prepend(head) + n.data = value + return n +} + +prepend :: proc(head: ^^node($T)) -> ^node(T) { + n := new(node(T)) + n.next = head^ + head^ = n + return n +} + +append_value :: proc(head: ^node($T), value: T) -> ^node(T) { + n := append(head) + n.data = value + return n +} + +append :: proc(head: ^node($T)) -> ^node(T) { + curr := head + for curr.next != nil { + curr = curr.next + } + curr.next = new(node(T)) + return curr.next +} + +head :: proc(h: ^node($T)) -> T { + return h.data +} + +tail :: proc(head: ^node($T)) -> T { + curr := head + for curr.next != nil { + curr = curr.next + } + return curr.data +} + +// counting starts from 0 +nth :: proc(head: ^node($T), n: u64) -> T { + curr := head + counter := 0 + for curr != nil { + if counter == n { + return curr.data + } + curr = curr.next + counter += 1 + } + return nil +} + +deinit :: proc(head: ^node($T)) { + curr := head + next: ^node(T) + for curr != nil { + next = curr.next + free(curr) + curr = next + } +} + +init :: proc($T: typeid) -> (head: ^node(T)) { + return new(node(T)) +}