From 6a8a46129815d0d22cebf5811d907649983f06a7 Mon Sep 17 00:00:00 2001 From: unknown <> Date: Sun, 10 Mar 2024 19:14:50 -0400 Subject: [PATCH] optimization work --- src/main/c/compile.sh | 26 +++++++++++------------ src/main/c/fluidsim.c | 8 +++++-- src/main/java/electrosphere/FluidSim.java | 4 ++-- src/main/java/electrosphere/Main.java | 4 ++-- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/main/c/compile.sh b/src/main/c/compile.sh index 623d48a..b0337a5 100644 --- a/src/main/c/compile.sh +++ b/src/main/c/compile.sh @@ -41,20 +41,20 @@ rm -f ./*.dll #compile object files -COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" -INPUT_FILES="./densitystep.c" -OUTPUT_FILE="./densitystep.o" -gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE +# COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" +# INPUT_FILES="./densitystep.c" +# OUTPUT_FILE="./densitystep.o" +# gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE -COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" -INPUT_FILES="./velocitystep.c" -OUTPUT_FILE="./velocitystep.o" -gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE +# COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" +# INPUT_FILES="./velocitystep.c" +# OUTPUT_FILE="./velocitystep.o" +# gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE -COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" -INPUT_FILES="./chunkmask.c" -OUTPUT_FILE="./chunkmask.o" -gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE +# COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" +# INPUT_FILES="./chunkmask.c" +# OUTPUT_FILE="./chunkmask.o" +# gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" INPUT_FILES="./fluidsim.c" @@ -66,7 +66,7 @@ gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OU #compile shared object file OUTPUT_FILE="libfluidsim$LIB_ENDING" COMPILE_FLAGS="-shared" -INPUT_FILES="densitystep.o velocitystep.o chunkmask.o fluidsim.o" +INPUT_FILES="fluidsim.o" gcc $COMPILE_FLAGS $INPUT_FILES -o $OUTPUT_FILE #move to resources diff --git a/src/main/c/fluidsim.c b/src/main/c/fluidsim.c index c6a167d..5a053f4 100644 --- a/src/main/c/fluidsim.c +++ b/src/main/c/fluidsim.c @@ -5,6 +5,10 @@ #include "includes/electrosphere_FluidSim.h" #include "includes/mainFunctions.h" +#include "./chunkmask.c" +#include "./velocitystep.c" +#include "./densitystep.c" + //include stb ds #define STB_DS_IMPLEMENTATION #include "./lib/stb/stb_ds.h" @@ -12,8 +16,8 @@ #define DIM 18 #define LINEARSOLVERTIMES 20 -#define DIFFUSION_CONSTANT 0.0 -#define VISCOSITY_CONSTANT 0.0 +#define DIFFUSION_CONSTANT 0.000001 +#define VISCOSITY_CONSTANT 0.000001 /** * A chunk diff --git a/src/main/java/electrosphere/FluidSim.java b/src/main/java/electrosphere/FluidSim.java index 98c5471..50f2af2 100644 --- a/src/main/java/electrosphere/FluidSim.java +++ b/src/main/java/electrosphere/FluidSim.java @@ -189,8 +189,8 @@ public class FluidSim { //clock time = time + (GLFW.glfwGetTime() - lastTime); i++; - if(i == 10){ - System.out.println(time / 10.0 * 1000.0); + if(i == 100){ + System.out.println(time / 100.0 * 1000.0); } diff --git a/src/main/java/electrosphere/Main.java b/src/main/java/electrosphere/Main.java index eba11cb..c76e604 100644 --- a/src/main/java/electrosphere/Main.java +++ b/src/main/java/electrosphere/Main.java @@ -56,7 +56,6 @@ public class Main { //Simulate // FluidSim.simChunks(simArray,i,0.01f); - time = time + (System.currentTimeMillis() - lastTime); // //Remesh // @@ -67,11 +66,12 @@ public class Main { } } } + time = time + (System.currentTimeMillis() - lastTime); //redraw GLFWContext.redraw(meshArray); i++; if(i == 100){ - // System.out.println(time / 100.0); + System.out.println("overall time: " + time / 100.0); } if(i > 3){ // scan.next();