-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Fix binary bloat caused by ValueDebugFormat
impl
#5102
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
8 Ignored Deployments
|
✅ This change can build |
|
use crate::debug::ValueDebugFormatString; | ||
|
||
#[inline(never)] | ||
pub async fn value_debug_format_field(value: ValueDebugFormatString<'_>) -> String { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I modified this to accept ValueDebugFormatString
instead of dyn (ValueDebugFormat + Sync)
because we need deref coercion to make macro work
Linux Benchmark for 489975bClick to view benchmark
|
Co-authored-by: Justin Ridgewell <[email protected]>
Co-authored-by: Justin Ridgewell <[email protected]>
Linux Benchmark for a5c3b84
Click to view full benchmark
|
This PR is extracted from #49942 and mostly contains changes necessary after the Turbopack PR adding the Node.js production runtime vercel/turborepo#4998, without any of the actual Next Build stuff, in order to be able to merge both quickly. * ChunkData moved from tp-dev to tp-core, the ES-serializable part moved to tp-ecmascript; * all runtime types moved to tp-ecmascript-runtime This also upgrades Turbopack to turbopack-230526.2: * vercel/turborepo#5102 <!-- Donny/강동윤 - refactor: Fix binary bloat caused by `ValueDebugFormat` impl --> * vercel/turborepo#4998 <!-- Alex Kirszenberg - Node.js production runtime POC -->
…el#50375) This PR is extracted from vercel#49942 and mostly contains changes necessary after the Turbopack PR adding the Node.js production runtime vercel/turborepo#4998, without any of the actual Next Build stuff, in order to be able to merge both quickly. * ChunkData moved from tp-dev to tp-core, the ES-serializable part moved to tp-ecmascript; * all runtime types moved to tp-ecmascript-runtime This also upgrades Turbopack to turbopack-230526.2: * vercel/turborepo#5102 <!-- Donny/강동윤 - refactor: Fix binary bloat caused by `ValueDebugFormat` impl --> * vercel/turborepo#4998 <!-- Alex Kirszenberg - Node.js production runtime POC -->
…turborepo#5102) ### Description ``` Finished release [optimized] target(s) in 0.43s Analyzing target/release/libnext_swc_napi.dylib File .text Size Crate Name 0.1% 0.3% 185.1KiB swc_css_prefixer <swc_css_prefixer::prefixer::Prefixer as swc_css_visit::VisitMut>::visit_mut_declaration 0.0% 0.1% 53.9KiB swc_ecma_transforms_base <swc_ecma_transforms_base::helpers::InjectHelpers>::build_imports::{closure#0} 0.0% 0.1% 41.4KiB next_core <next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0} 0.0% 0.1% 39.6KiB turbopack_core turbopack_core::register 0.0% 0.1% 36.5KiB std core::ptr::drop_in_place::<<next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0}> 0.0% 0.1% 36.5KiB std core::ptr::drop_in_place::<<next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0}> 0.0% 0.1% 34.5KiB turbopack_ecmascript turbopack_ecmascript::register 0.0% 0.1% 34.4KiB next_core next_core::register 0.0% 0.1% 32.6KiB swc_ecma_transforms_module <swc_ecma_transforms_module::system_js::SystemJs as swc_ecma_visit::Fold>::fold_module 0.0% 0.0% 30.5KiB regex <regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at 0.0% 0.0% 27.5KiB browserslist browserslist::data::caniuse::features::get_feature_stat 0.0% 0.0% 27.5KiB swc <swc::config::Options>::build_as_input::<swc_visit::AndThen<swc_visit::Optional<next_swc::disallow_re_export_all_in_page::DisallowReExportAllInPage>, swc_visit::AndThen<either::Either<swc_e... 0.0% 0.0% 27.2KiB turbopack_ecmascript turbopack_ecmascript::references::analyze_ecmascript_module_inline::{closure#0} ``` ### Testing Instructions --- - Closes WEB-1116 --------- Co-authored-by: Justin Ridgewell <[email protected]>
…turborepo#5102) ### Description ``` Finished release [optimized] target(s) in 0.43s Analyzing target/release/libnext_swc_napi.dylib File .text Size Crate Name 0.1% 0.3% 185.1KiB swc_css_prefixer <swc_css_prefixer::prefixer::Prefixer as swc_css_visit::VisitMut>::visit_mut_declaration 0.0% 0.1% 53.9KiB swc_ecma_transforms_base <swc_ecma_transforms_base::helpers::InjectHelpers>::build_imports::{closure#0} 0.0% 0.1% 41.4KiB next_core <next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0} 0.0% 0.1% 39.6KiB turbopack_core turbopack_core::register 0.0% 0.1% 36.5KiB std core::ptr::drop_in_place::<<next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0}> 0.0% 0.1% 36.5KiB std core::ptr::drop_in_place::<<next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0}> 0.0% 0.1% 34.5KiB turbopack_ecmascript turbopack_ecmascript::register 0.0% 0.1% 34.4KiB next_core next_core::register 0.0% 0.1% 32.6KiB swc_ecma_transforms_module <swc_ecma_transforms_module::system_js::SystemJs as swc_ecma_visit::Fold>::fold_module 0.0% 0.0% 30.5KiB regex <regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at 0.0% 0.0% 27.5KiB browserslist browserslist::data::caniuse::features::get_feature_stat 0.0% 0.0% 27.5KiB swc <swc::config::Options>::build_as_input::<swc_visit::AndThen<swc_visit::Optional<next_swc::disallow_re_export_all_in_page::DisallowReExportAllInPage>, swc_visit::AndThen<either::Either<swc_e... 0.0% 0.0% 27.2KiB turbopack_ecmascript turbopack_ecmascript::references::analyze_ecmascript_module_inline::{closure#0} ``` ### Testing Instructions --- - Closes WEB-1116 --------- Co-authored-by: Justin Ridgewell <[email protected]>
…turborepo#5102) ### Description ``` Finished release [optimized] target(s) in 0.43s Analyzing target/release/libnext_swc_napi.dylib File .text Size Crate Name 0.1% 0.3% 185.1KiB swc_css_prefixer <swc_css_prefixer::prefixer::Prefixer as swc_css_visit::VisitMut>::visit_mut_declaration 0.0% 0.1% 53.9KiB swc_ecma_transforms_base <swc_ecma_transforms_base::helpers::InjectHelpers>::build_imports::{closure#0} 0.0% 0.1% 41.4KiB next_core <next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0} 0.0% 0.1% 39.6KiB turbopack_core turbopack_core::register 0.0% 0.1% 36.5KiB std core::ptr::drop_in_place::<<next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0}> 0.0% 0.1% 36.5KiB std core::ptr::drop_in_place::<<next_core::next_config::NextConfig>::__value_debug_format_NextConfig::{closure#0}> 0.0% 0.1% 34.5KiB turbopack_ecmascript turbopack_ecmascript::register 0.0% 0.1% 34.4KiB next_core next_core::register 0.0% 0.1% 32.6KiB swc_ecma_transforms_module <swc_ecma_transforms_module::system_js::SystemJs as swc_ecma_visit::Fold>::fold_module 0.0% 0.0% 30.5KiB regex <regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at 0.0% 0.0% 27.5KiB browserslist browserslist::data::caniuse::features::get_feature_stat 0.0% 0.0% 27.5KiB swc <swc::config::Options>::build_as_input::<swc_visit::AndThen<swc_visit::Optional<next_swc::disallow_re_export_all_in_page::DisallowReExportAllInPage>, swc_visit::AndThen<either::Either<swc_e... 0.0% 0.0% 27.2KiB turbopack_ecmascript turbopack_ecmascript::references::analyze_ecmascript_module_inline::{closure#0} ``` ### Testing Instructions --- - Closes WEB-1116 --------- Co-authored-by: Justin Ridgewell <[email protected]>
Description
Testing Instructions