diff --git a/benchmark/Benchmark.cpp b/benchmark/Benchmark.cpp new file mode 100644 index 00000000..c63b9e78 --- /dev/null +++ b/benchmark/Benchmark.cpp @@ -0,0 +1,32 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#ifdef DEBUG + +#include +#include + +#include +#include +#include + +namespace facebook::yoga { + +void captureTree(const Node* node, std::string captureName) { + std::string str; + nodeToString(str, node, PrintOptions::Style | PrintOptions::Children); + std::filesystem::path currentPath = __FILE__; + std::ofstream file; + file.open( + currentPath.parent_path().string() + "/captures/" + captureName + + ".json"); + file << str; + file.close(); +} + +} // namespace facebook::yoga +#endif diff --git a/benchmark/Benchmark.h b/benchmark/Benchmark.h new file mode 100644 index 00000000..84d1af49 --- /dev/null +++ b/benchmark/Benchmark.h @@ -0,0 +1,19 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#ifdef DEBUG + +#pragma once + +#include + +namespace facebook::yoga { + +void captureTree(const Node* node, std::string captureName); + +} // namespace facebook::yoga +#endif