paritytech / rust-rocksdb

rust wrapper for rocksdb
Apache License 2.0
15 stars 23 forks source link

Support old CPUs #22

Closed ordian closed 6 years ago

ordian commented 6 years ago

I could modify CMakeLists.txt to something like -march=core2 and /arch:AVX on Windows, but not sure it is the best way, since it would probably create conflicts when updating RocksDB and there are some checks like this one that needs to be removed as well. Also I haven't tested this (don't have a new CPU atm) and don't know what the performance impact is.

Alternatively, we can say that the binaries support only new CPUs and one needs to build from source on an old CPU if needed, but that doesn't seem like a good approach to me, especially in case of Windows.

related to https://github.com/paritytech/parity-ethereum/issues/9684.

andresilva commented 6 years ago

Good idea, I was going to suggest using a cargo feature but it's probably easier to use an environment variable (since with a feature we'd need to add it to kvdb-rocksdb as well so that it's reachable from parity-ethereum).