Add cascadelake implementation, which use AVX512 Intrinsics to optimize performance(#1811)

* Add cascadelake implementation, which use AVX512 Intrinsics to optimization the performance.
* update doc/performance.md.
This commit is contained in:
mellonyou
2022-05-10 01:02:46 +08:00
committed by GitHub
parent 1aa1d537fe
commit 6fe66d0fa7
23 changed files with 1004 additions and 16 deletions
+9
View File
@@ -14,6 +14,12 @@ namespace internal {
// Static array of known implementations. We're hoping these get baked into the executable
// without requiring a static initializer.
#if SIMDJSON_IMPLEMENTATION_CASCADELAKE
static const cascadelake::implementation* get_cascadelake_singleton() {
static const cascadelake::implementation cascadelake_singleton{};
return &cascadelake_singleton;
}
#endif
#if SIMDJSON_IMPLEMENTATION_HASWELL
static const haswell::implementation* get_haswell_singleton() {
static const haswell::implementation haswell_singleton{};
@@ -73,6 +79,9 @@ private:
static const std::initializer_list<const implementation *>& get_available_implementation_pointers() {
static const std::initializer_list<const implementation *> available_implementation_pointers {
#if SIMDJSON_IMPLEMENTATION_CASCADELAKE
get_cascadelake_singleton(),
#endif
#if SIMDJSON_IMPLEMENTATION_HASWELL
get_haswell_singleton(),
#endif