diff options
author | alon@honor <none@none> | 2010-10-13 22:24:06 -0700 |
---|---|---|
committer | alon@honor <none@none> | 2010-10-13 22:24:06 -0700 |
commit | 5efa5e467476859cdfb55a3a9dd22bf4584f670e (patch) | |
tree | b08d44f39989df6ac1ffdba6ebbf38849fee2013 /src/settings.js | |
parent | d276be7499faff9814dc3cad07c2685284645106 (diff) |
aggressively nativize variables; stop doing optimizations that are no longer needed; fix some uncovered bugs; 49% speedup
Diffstat (limited to 'src/settings.js')
-rw-r--r-- | src/settings.js | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/settings.js b/src/settings.js index 6b621770..717bd334 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,5 +1,5 @@ // Tuning -QUANTUM_SIZE = 1; // This is the size of an individual field in a structure. 1 would +QUANTUM_SIZE = 4; // This is the size of an individual field in a structure. 1 would // lead to e.g. doubles and chars both taking 1 memory address. This // is a form of 'compressed' memory, with shrinking and stretching // according to the type, when compared to C/C++. On the other hand @@ -8,10 +8,10 @@ QUANTUM_SIZE = 1; // This is the size of an individual field in a structure. 1 w // the top address - the others are just empty, an 'alignment cost' // of sorts. // - // llvm-gcc works with 1. However, clang uses llvm_memcpy for various - // things, and the number of bytes it copies is hardcoded. A simple - // way to prevent problems with that is to set QUANTUM_SIZE to 8. - // See the 'copyop' automatic test. + // 1 is somewhat faster, but dangerous. + // + // TODO: Cleverly analyze malloc, memset, memcpy etc. operations in + // llvm, and replace with the proper values for us GUARD_SIGNS = 1; // Whether we make sure to convert unsigned values to signed values. // Decreases performance with additional runtime checks. Might not be |