TheochemUI / eOn

eOn v3 and beyond
https://theochemui.github.io/eOn/
BSD 3-Clause "New" or "Revised" License
2 stars 2 forks source link

ENH: Potential redesign, take three #153

Closed HaoZeke closed 1 month ago

HaoZeke commented 1 month ago

I was disappointed that the previous design didn't yield any benefits in terms of performance. Also adding to the parameters in and out of the force call was a nightmare. This fixes both, and also:

HaoZeke commented 1 month ago

As of f7bf437

image

Command Mean [ms] Min [ms] Max [ms] Relative
eonclient -s client/example/pos.con -p lj 7.6 ± 1.7 4.5 11.9 1.00
eonSVNonly/client/eonclient -s client/example/pos.con -p lj 9.9 ± 2.2 5.8 15.3 1.30 ± 0.41
HaoZeke commented 1 month ago

We now have a clean valgrind check:

==586828== Memcheck, a memory error detector
==586828== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==586828== Using Valgrind-3.23.0 and LibVEX; rerun with -h for copyright info
==586828== Command: eonclient -s client/example/pos.con -p lj
==586828== Parent PID: 4149992
==586828== 
==586828== 
==586828== HEAP SUMMARY:
==586828==     in use at exit: 0 bytes in 0 blocks
==586828==   total heap usage: 4,085 allocs, 4,085 frees, 272,727 bytes allocated
==586828== 
==586828== All heap blocks were freed -- no leaks are possible
==586828== 
==586828== For lists of detected and suppressed errors, rerun with: -s
==586828== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)