Skip to content
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

perf(remix-dev/vite): use transformRequest for route exports anlaysis to utilize Vite's caching #8113

Conversation

hi-ogawa
Copy link
Contributor

@hi-ogawa hi-ogawa commented Nov 23, 2023

This is a 2nd idea extracted from #8102.

Main changes are:

  • use ViteDevServer.transformRequest instead of pluginContainer.transform to benefit from Vite's module caching with automatic invalidation on file change.
  • remove { ssr: true } so that Vite won't transform export ... into __vite_ssr_exports__(...), which would break es-module-lexer's exports analysis. this also requires filtering out remix's own plugin further for child compiler.
    • Actually I found something very odd without ssr: true. For some reason, vite build --ssr was stuck forever (locally reproducible on my Linux. Maxos seems fine on CI).
      So for now, I put it back ssr: true with experimental.skipSsrTransform so that __vite_ssr_exports__ will not be injected. But I still feel ssr: false transform should technically work but I'm just missing something, so I'll investigate it further.
    • It seems that preTransformRequests was causing to vite build --ssr stuck forever. After #8121 is merged, this is disabled for child compiler and the issue is resolved.

testing strategy

It's still rough measurement but the effect of vite caching transformRequest can be seen on this demo project https://github.com/hi-ogawa/remix-benchmark

The log is generated based on wrapConsoleTimeAsync 4417a49.

before
// 1st getRouteManifestModuleExports
getRouteModuleExports:7w4wii1ef7w: 103.17ms
getRouteModuleExports:7umsivmw2q4: 105.797ms
getRouteModuleExports:0ko7pu5577v: 108.724ms
getRouteModuleExports:0tk2ogrcyba: 109.961ms
getRouteModuleExports:uaa2kxc45xb: 109.879ms
getRouteModuleExports:f6lku95thag: 110.608ms
getRouteModuleExports:jesmt1n4y1d: 112.096ms
getRouteModuleExports:2yr7arsec28: 111.688ms
getRouteModuleExports:0yfetfowryu: 112.132ms
getRouteModuleExports:3qmm081doch: 113.67ms
getRouteModuleExports:0gx1dgqn0vi: 113.682ms
getRouteModuleExports:7ydjg3fn903: 114.643ms
getRouteModuleExports:0oo6zwovu5n: 115.421ms
getRouteModuleExports:ex4iz4nelmv: 115.971ms
getRouteModuleExports:gcslk7175xm: 115.778ms
getRouteModuleExports:0r57jb0ita3: 117.211ms
getRouteModuleExports:f34dqeegg5f: 117.126ms
getRouteModuleExports:oa6abyq59tn: 118.186ms
getRouteModuleExports:8edmwighnxs: 119.422ms
getRouteModuleExports:lykpw5d07mn: 119.293ms
getRouteModuleExports:l8p6hccbx6k: 120.515ms
getRouteModuleExports:p6xb08tnveb: 120.063ms
getRouteModuleExports:dcsbc0d11a9: 121.129ms
getRouteModuleExports:0x1wsyjtj5p: 122.049ms
getRouteModuleExports:0p0ecdywit1: 122.699ms
getRouteModuleExports:0hkb9jkycln: 122.329ms
getRouteModuleExports:eg8k9vuukkc: 123.869ms
getRouteModuleExports:a55hlfyopzt: 123.275ms
getRouteModuleExports:1hhukj6zzzsh: 124.353ms
getRouteModuleExports:3qgcrh07wf9: 124.771ms
getRouteModuleExports:6aisscuc8ym: 128.517ms
getRouteModuleExports:ekg277v6knh: 129.362ms
getRouteModuleExports:p9sja4vcc0e: 147.907ms
getRouteModuleExports:qrigvk2rkxg: 149.677ms
getRouteModuleExports:rmddcru6u6p: 149.661ms
getRouteModuleExports:hf2skwojqlk: 151.984ms
getRouteModuleExports:88vup35ma85: 152.277ms
getRouteModuleExports:swgcenh78q8: 152.822ms
getRouteModuleExports:9fq7wty8mgj: 153.388ms
getRouteModuleExports:yxdycyt2hxb: 154.71ms
getRouteModuleExports:epbsmey9ppf: 154.913ms
getRouteModuleExports:33c8vgzyeqy: 155.546ms
getRouteModuleExports:q51r2c25m2r: 156.972ms
getRouteModuleExports:0iuka187avb: 157.651ms
getRouteModuleExports:0j7dxmb234t: 158.956ms
getRouteModuleExports:8pm4s3bke77: 159.75ms
getRouteModuleExports:g2o25f34be9: 160.618ms
getRouteModuleExports:0jaykpk3vrq: 161.358ms
getRouteModuleExports:hf0x16qt8q7: 162.14ms
getRouteModuleExports:f1fai976aqs: 163.021ms
getRouteModuleExports:0p6w3q4a7m3e: 163.75ms
getRouteModuleExports:0qkepds0c75: 164.855ms
getRouteModuleExports:e3llw5ltb4v: 166.066ms
getRouteModuleExports:l0vi8ndvb4s: 173.305ms
getRouteModuleExports:5knczb8hzt2: 174.353ms
getRouteModuleExports:uoj8zu2i99l: 174.717ms
getRouteModuleExports:a7drk72t1m9: 175.292ms
getRouteModuleExports:nkttp5vu58s: 176.449ms
getRouteModuleExports:8zd2fh4rzlo: 177.557ms
getRouteModuleExports:1as0ra7lny5: 178.12ms
getRouteModuleExports:ju13qw9sc0l: 179.078ms
getRouteModuleExports:dj0mhby0pra: 180.01ms
getRouteModuleExports:g1n7n9ecptr: 180.944ms
getRouteModuleExports:rxxgtfi2len: 181.967ms
getRouteModuleExports:klbqg2amkpe: 183.282ms
getRouteModuleExports:50h5w4n9v4r: 184.341ms
getRouteModuleExports:iafzlnq795i: 185.389ms
getRouteModuleExports:eml7358fm7t: 186.206ms
getRouteModuleExports:eyc5evr0aui: 187.318ms
getRouteModuleExports:rf2rb626i2l: 187.79ms
getRouteModuleExports:0c4tkvrf5m1: 188.912ms
getRouteModuleExports:0ujvc71pij9: 189.938ms
getRouteModuleExports:yha2l91we8s: 190.776ms
getRouteModuleExports:2kdlz1bs69r: 191.742ms
getRouteModuleExports:9atehbjb2uc: 192.919ms
getRouteModuleExports:a0fcse3gw8g: 194.006ms
getRouteModuleExports:29jfbz4dlgu: 194.991ms
getRouteModuleExports:l5vzb7azy6n: 195.81ms
getRouteModuleExports:0xs67i1ojgi: 196.835ms
getRouteModuleExports:acaa1xkqcyg: 197.68ms
getRouteModuleExports:0jwmbjikpyg: 198.574ms
getRouteModuleExports:61etgfu9086: 199.718ms
getRouteModuleExports:fdar9um7b04: 200.423ms
getRouteModuleExports:0zr2103v6lu: 201.18ms
getRouteModuleExports:f17z2oqm04r: 202.028ms
getRouteModuleExports:0p0i56sire4: 202.953ms
getRouteModuleExports:igvkrzr43ca: 204.035ms
getRouteModuleExports:54jlwaqikne: 205.092ms
getRouteModuleExports:6l49306eef9: 205.985ms
getRouteModuleExports:0p757nyiqun: 207.071ms
getRouteModuleExports:bf8h0w8de4r: 208.036ms
getRouteModuleExports:poyq4d5s45c: 209.267ms
getRouteModuleExports:vu7v3c2tqop: 209.091ms
getRouteModuleExports:0youabg03bk: 210.191ms
getRouteModuleExports:20goav513tf: 210.981ms
getRouteModuleExports:4plk0wcbx0u: 212.758ms
getRouteModuleExports:ei0wwzfek24: 212.865ms
getRouteModuleExports:bhx9kls5une: 214.782ms
getRouteModuleExports:94hyieaeqmv: 220.279ms
getRouteModuleExports:0jl5mb2j7wj: 220.871ms
getRouteModuleExports:q297hyd5o88: 221.506ms
getRouteModuleExports:np6d7k3i7qe: 875.94ms
getRouteManifestModuleExports:0azpzxhxrj2: 876.21ms

// 2nd getRouteManifestModuleExports
getRouteModuleExports:aeuien6miie: 67.156ms
getRouteModuleExports:goju17quwfs: 68.298ms
getRouteModuleExports:0au3w577boo: 68.771ms
getRouteModuleExports:gwa4qz1fbyn: 70.249ms
getRouteModuleExports:04in1vu38au: 71.109ms
getRouteModuleExports:mslh507couj: 72.122ms
getRouteModuleExports:0lqi5w8ee15: 72.586ms
getRouteModuleExports:0w9ukgqtt85: 73.614ms
getRouteModuleExports:o459o2zzsgm: 73.619ms
getRouteModuleExports:06z4k1hxw54i: 74.119ms
getRouteModuleExports:otadj45d949: 82.7ms
getRouteModuleExports:wip9d6n3wvr: 84.466ms
getRouteModuleExports:52xif8c9gkj: 85.473ms
getRouteModuleExports:0n3atc0izxz: 86.325ms
getRouteModuleExports:ufyfsmc4k2h: 382.644ms
getRouteModuleExports:bhfmc7tqouu: 382.79ms
getRouteModuleExports:ccqlnkb27qr: 383.265ms
getRouteModuleExports:ow6jf0rxh1r: 384.393ms
getRouteModuleExports:9kft1k1ml3j: 386.567ms
getRouteModuleExports:by2wht4lf2h: 387.218ms
getRouteModuleExports:i01uwi8mtmj: 388.286ms
getRouteModuleExports:by26zwpy47t: 389.119ms
getRouteModuleExports:0qbcuqse9j6: 389.194ms
getRouteModuleExports:mcw5a1kh2hh: 390.708ms
getRouteModuleExports:q1hxkz3xpec: 391.355ms
getRouteModuleExports:xiu16ng3wxq: 392.834ms
getRouteModuleExports:5ivl5yvtnoq: 395.384ms
getRouteModuleExports:a3p7r2h8au8: 396.907ms
getRouteModuleExports:0p6txbtjvw9: 397.932ms
getRouteModuleExports:spig46s8ti9: 399.058ms
getRouteModuleExports:0uji9dt3oib: 405.38ms
getRouteModuleExports:ehbx7keg0yv: 406.071ms
getRouteModuleExports:kyi7puq15ec: 406.592ms
getRouteModuleExports:0ed4evmpphg: 407.141ms
getRouteModuleExports:t0pveumfm0o: 423.587ms
getRouteModuleExports:wgec0jcl64g: 424.434ms
getRouteModuleExports:7c2vz293gu7: 425.215ms
getRouteModuleExports:6bwholdcjsf: 425.459ms
getRouteModuleExports:85ioe0n68od: 426.082ms
getRouteModuleExports:fc09ur6iedh: 426.656ms
getRouteModuleExports:iresgt8fbjg: 426.987ms
getRouteModuleExports:ewpcjkgih8b: 427.884ms
getRouteModuleExports:4kdkhfct0mu: 428.391ms
getRouteModuleExports:hnrnfzzl51f: 429.14ms
getRouteModuleExports:cbztzrtwh3g: 429.781ms
getRouteModuleExports:0n0st1qi1ta: 430.721ms
getRouteModuleExports:gzmg9u1img9: 431.209ms
getRouteModuleExports:738nndvbfnu: 431.828ms
getRouteModuleExports:s9tw5xqpzhn: 432.46ms
getRouteModuleExports:fwqbg8crq1r: 432.813ms
getRouteModuleExports:0ip0lwjuurv: 433.407ms
getRouteModuleExports:0fjfobtsq7h: 434.128ms
getRouteModuleExports:81mk7w21h74: 434.087ms
getRouteModuleExports:0kkhbgstxc4: 434.846ms
getRouteModuleExports:cyrvmytyc5o: 435.608ms
getRouteModuleExports:0ek6iwirkhg: 436.064ms
getRouteModuleExports:pq5sdttdf1o: 436.918ms
getRouteModuleExports:shdrarbm0ye: 436.596ms
getRouteModuleExports:0v4dps8dgch: 437.164ms
getRouteModuleExports:0b17t6adsqi: 437.441ms
getRouteModuleExports:hfw92qy8gjh: 437.864ms
getRouteModuleExports:qefcw4evvqg: 438.548ms
getRouteModuleExports:bo8xxt21br9: 440.314ms
getRouteModuleExports:aduvdg3wpjm: 440.612ms
getRouteModuleExports:0hrig0bk6tp: 441.229ms
getRouteModuleExports:2pfch3kw8ke: 441.823ms
getRouteModuleExports:0ifio2tw6m5: 442.644ms
getRouteModuleExports:0me8u2iznas: 442.706ms
getRouteModuleExports:16l68xlve7j: 443.272ms
getRouteModuleExports:0abxxbm919i: 443.797ms
getRouteModuleExports:evthb7a2tss: 444.261ms
getRouteModuleExports:ho00yqawthc: 444.702ms
getRouteModuleExports:jhhub7h1j0g: 445.231ms
getRouteModuleExports:e7vypd89trm: 445.836ms
getRouteModuleExports:8quchnehz8u: 446.26ms
getRouteModuleExports:jo6cf99lc9k: 446.82ms
getRouteModuleExports:zy9pju407ml: 447.271ms
getRouteModuleExports:oqvlvseeora: 451.144ms
getRouteModuleExports:vptqs8gkxf9: 452.247ms
getRouteModuleExports:0nghxyhikd8: 452.326ms
getRouteModuleExports:0kvjo9jd0vl: 452.801ms
getRouteModuleExports:8z5sqmha2pl: 453.379ms
getRouteModuleExports:0u1p3qiixzp: 453.929ms
getRouteModuleExports:f65y9ntp3ej: 454.476ms
getRouteModuleExports:0fxnzwowr5c: 454.773ms
getRouteModuleExports:5skv5zyk936: 455.232ms
getRouteModuleExports:0nirvecasvk: 455.608ms
getRouteModuleExports:07cgx18tone: 456.305ms
getRouteModuleExports:8qmj6zdftaj: 456.747ms
getRouteModuleExports:riggf2tckfi: 457.69ms
getRouteModuleExports:l23zey815ed: 458.256ms
getRouteModuleExports:xg8dnnnsv5m: 458.928ms
getRouteModuleExports:cxshxtocyrl: 459.518ms
getRouteModuleExports:0x5rosbduub: 460.043ms
getRouteModuleExports:0obyql7s2mu: 460.802ms
getRouteModuleExports:cdmhkarbsp9: 460.658ms
getRouteModuleExports:0co04iteno4: 461.309ms
getRouteModuleExports:0sorcavv6ln: 461.864ms
getRouteModuleExports:c64anfidqcu: 462.379ms
getRouteModuleExports:epj6j8944xf: 463.157ms
getRouteModuleExports:0wyp05lua58: 463.172ms
getRouteModuleExports:5bmzq40ltv2: 463.709ms
getRouteManifestModuleExports:0uznx2hy7yk: 465.574ms
after
// 1st getRouteManifestModuleExports

getRouteModuleExports:0ih7d4cmuqwb: 169.038ms
getRouteModuleExports:0pl6aty9owoj: 169.748ms
getRouteModuleExports:00983eb3bd6x: 170.91ms
getRouteModuleExports:0l2mkv29qjfg: 171.316ms
getRouteModuleExports:09svfzn6bt6t: 171.495ms
getRouteModuleExports:00dzn2apd7h1: 172.013ms
getRouteModuleExports:0cgovssbyly9: 172.338ms
getRouteModuleExports:0095af6yuwvc: 172.669ms
getRouteModuleExports:0wkf1pnz1yko: 172.739ms
getRouteModuleExports:00u1a97ysuyq: 173.226ms
getRouteModuleExports:0ya510dyyybe: 173.542ms
getRouteModuleExports:0k82isdae8zj: 174.432ms
getRouteModuleExports:00xec21wkver: 174.803ms
getRouteModuleExports:0mjah40h7wbc: 174.83ms
getRouteModuleExports:00b6xzjhzogv: 175.426ms
getRouteModuleExports:0pifu216ttfd: 175.687ms
getRouteModuleExports:0pq2e03zjako: 176.094ms
getRouteModuleExports:00zkm7l6ebt1: 176.037ms
getRouteModuleExports:0qvxwna4ywxa: 176.644ms
getRouteModuleExports:06f4zq6016wj: 176.589ms
getRouteModuleExports:0exhi5mrkftj: 177.035ms
getRouteModuleExports:0ibrnx6vuene: 177.269ms
getRouteModuleExports:00u8naow551x: 177.743ms
getRouteModuleExports:0rh293bij228: 177.896ms
getRouteModuleExports:0v0hcs9ngc9i: 178.054ms
getRouteModuleExports:0npqk9c2kued: 197.412ms
getRouteModuleExports:00xss8yhqrcn: 197.833ms
getRouteModuleExports:06nlk64bkkw5: 198.584ms
getRouteModuleExports:0s1n5adfjpmr: 199.068ms
getRouteModuleExports:0t6u017yg60n: 199.451ms
getRouteModuleExports:009v9sy04c74: 200.009ms
getRouteModuleExports:048c3cg2wk0a: 200.782ms
getRouteModuleExports:0m2n51fe5358: 201.258ms
getRouteModuleExports:00eu93dy7j7l: 201.834ms
getRouteModuleExports:0c5d8rn3v0gv: 201.926ms
getRouteModuleExports:0y4lrzkm3edk: 202.465ms
getRouteModuleExports:0fdvsnsmvdzp: 202.951ms
getRouteModuleExports:03jgd3b4ooda: 203.162ms
getRouteModuleExports:01g8rk57vajk: 203.398ms
getRouteModuleExports:0jb7ap5p5z4r: 204.057ms
getRouteModuleExports:066apcfvoips: 207.522ms
getRouteModuleExports:0159q7qdgqdi: 208.579ms
getRouteModuleExports:0jfy1wyt7swd: 209.034ms
getRouteModuleExports:0i2qubk7c4f8: 209.517ms
getRouteModuleExports:0n3f9dh3ajfg: 210.007ms
getRouteModuleExports:0dmenve78pca: 210.512ms
getRouteModuleExports:00q02pm8g26h: 210.863ms
getRouteModuleExports:0e5352uoh36t: 211.191ms
getRouteModuleExports:0wesj9jboe5o: 211.631ms
getRouteModuleExports:0okz8ag1v6ac: 211.99ms
getRouteModuleExports:01dfvjt5oidg: 217.7ms
getRouteModuleExports:00qvqgp9ph63: 218.15ms
getRouteModuleExports:09uq9jcjjno6: 218.579ms
getRouteModuleExports:0pmyubuvhubi: 219.227ms
getRouteModuleExports:00u967zy3omv: 226.483ms
getRouteModuleExports:00ogt9644xgq: 226.978ms
getRouteModuleExports:0ap43sai4qr8: 227.527ms
getRouteModuleExports:0rqvabm3vcem: 234.557ms
getRouteModuleExports:00ya5ovw764o: 235.407ms
getRouteModuleExports:01xiomekoul5: 236.232ms
getRouteModuleExports:02g6az9qwgbk: 236.51ms
getRouteModuleExports:0522lhhmc966: 236.883ms
getRouteModuleExports:00vaivguqflw: 248.643ms
getRouteModuleExports:0a3l258y3ynl: 249.307ms
getRouteModuleExports:00nc3iusdo8c: 250.017ms
getRouteModuleExports:0qgh7tk8jiao: 250.441ms
getRouteModuleExports:02vmf0m0b1tm: 256.265ms
getRouteModuleExports:0ebc4cm986ua: 256.916ms
getRouteModuleExports:0af85lthq6f9: 257.282ms
getRouteModuleExports:03r569r3he77: 257.909ms
getRouteModuleExports:01ap8ml7pnuh: 263.757ms
getRouteModuleExports:0oua274tu20r: 267.503ms
getRouteModuleExports:05qycfrl23fq: 267.878ms
getRouteModuleExports:04gjkhg7zncc: 268.208ms
getRouteModuleExports:00yux9jze282: 273.216ms
getRouteModuleExports:0h5655jaots4: 273.568ms
getRouteModuleExports:0ra2y8f8n44o: 274.058ms
getRouteModuleExports:00iuvtbe390e: 274.475ms
getRouteModuleExports:0bav2007slc9: 280.114ms
getRouteModuleExports:0b8watpjh6ms: 280.716ms
getRouteModuleExports:05tzeqxabdob: 281.297ms
getRouteModuleExports:00y3rbwabxky: 281.828ms
getRouteModuleExports:00a4dejsu687: 287.473ms
getRouteModuleExports:0ahqfu3qicvu: 288.155ms
getRouteModuleExports:0g2n9i6vhe36: 288.646ms
getRouteModuleExports:00k5f8z5642g: 288.916ms
getRouteModuleExports:0b62s9sz268c: 301.784ms
getRouteModuleExports:0gzcxe8hms9l: 302.129ms
getRouteModuleExports:0fsxtpkpf6bi: 302.089ms
getRouteModuleExports:00zri6fg8jdr: 302.458ms
getRouteModuleExports:0p15zckr6qee: 302.818ms
getRouteModuleExports:0nunfat9cqui: 306.077ms
getRouteModuleExports:0c20fvbs904i: 306.86ms
getRouteModuleExports:0pkao2vs5dnp: 307.589ms
getRouteModuleExports:00e6ft49cmmd: 307.929ms
getRouteModuleExports:0gnnrl35v9ki: 308.22ms
getRouteModuleExports:00kaqx6s6evj: 403.939ms
getRouteModuleExports:00yhiic5b75l: 404.375ms
getRouteModuleExports:0xm9ek308neb: 404.686ms
getRouteModuleExports:05pfbb9t2w1q: 413.936ms
getRouteModuleExports:0q3wqnsewvqc: 437.371ms
getRouteModuleExports:0orufk8zozas: 1.040s
getRouteManifestModuleExports:00xqqkz2jrgj: 1.040s

// 2nd getRouteManifestModuleExports
getRouteModuleExports:0qp22eeq9nrc: 12.88ms
getRouteModuleExports:0pkf74zykonn: 12.943ms
getRouteModuleExports:0qa3ava5uthl: 12.97ms
getRouteModuleExports:0jkxbb96nkqh: 12.98ms
getRouteModuleExports:06brf5xqbwhe: 12.986ms
getRouteModuleExports:0f7g7ahancie: 12.993ms
getRouteModuleExports:00bnk1hpwa1k: 12.999ms
getRouteModuleExports:053crmvyej2u: 13.006ms
getRouteModuleExports:00s7xkysu8s3: 13.01ms
getRouteModuleExports:05ce3kz32zxq: 13.009ms
getRouteModuleExports:0r7rylr43ffc: 13.011ms
getRouteModuleExports:0nc3z2cfor0m: 13.015ms
getRouteModuleExports:00imhmncxcq8: 13.032ms
getRouteModuleExports:0plt8cuxuxhg: 13.037ms
getRouteModuleExports:00q4zqduf0ws: 13.04ms
getRouteModuleExports:07ekdw6ewgxu: 13.043ms
getRouteModuleExports:042pkyqk7dev: 13.045ms
getRouteModuleExports:07ezpoxdbo85: 13.047ms
getRouteModuleExports:0a8z10hwycem: 13.063ms
getRouteModuleExports:0xpny5x6s7ub: 13.077ms
getRouteModuleExports:0rs73akex5kg: 13.088ms
getRouteModuleExports:00m3mn4wt7l4: 13.1ms
getRouteModuleExports:00pvs1l024hn: 13.113ms
getRouteModuleExports:031wkady55d3: 13.125ms
getRouteModuleExports:00hkfx0sraij: 13.134ms
getRouteModuleExports:0rp9xvrqzzaf: 13.148ms
getRouteModuleExports:043ba9ejp5kl: 13.157ms
getRouteModuleExports:0m32efbb9oir: 13.161ms
getRouteModuleExports:00vltegd7qhh: 13.165ms
getRouteModuleExports:0astr73fcsyv: 13.168ms
getRouteModuleExports:00pymjdvneug: 13.171ms
getRouteModuleExports:09v27ifa0s3f: 13.174ms
getRouteModuleExports:0sytbehj503h: 13.173ms
getRouteModuleExports:0e2at05ywena: 13.175ms
getRouteModuleExports:0jinlpw3xnwn: 13.178ms
getRouteModuleExports:00ccw0nh4w0i: 13.181ms
getRouteModuleExports:0hy8zro8xeib: 13.184ms
getRouteModuleExports:09fr6wwehwa5: 13.187ms
getRouteModuleExports:0gyl660otrbb: 13.191ms
getRouteModuleExports:0n86tt0rdj2i: 13.194ms
getRouteModuleExports:00p9t4dnul9j: 13.197ms
getRouteModuleExports:0sdyp7ho061t: 13.2ms
getRouteModuleExports:0iwooz3i7pci: 13.203ms
getRouteModuleExports:08bs7hr8v6g3: 13.205ms
getRouteModuleExports:016ou54u2qjv: 13.208ms
getRouteModuleExports:00j1nnzhdw3h: 13.211ms
getRouteModuleExports:033iuqj53cse: 13.215ms
getRouteModuleExports:0uj9hhbl76eg: 13.218ms
getRouteModuleExports:09fk9uwtj9a6: 13.221ms
getRouteModuleExports:0idxbdhm7j69: 13.224ms
getRouteModuleExports:01eimed00csj: 13.232ms
getRouteModuleExports:00z6r752gr6z: 13.236ms
getRouteModuleExports:0zf4hhpwd988: 13.239ms
getRouteModuleExports:04zxc89ypo64: 13.243ms
getRouteModuleExports:0dy4oxa4vnkc: 13.246ms
getRouteModuleExports:0l1bf5pnuq7k: 13.249ms
getRouteModuleExports:0f1sm2vt3t0q: 13.252ms
getRouteModuleExports:0qzwripkflwe: 13.255ms
getRouteModuleExports:0o1k3wrd1ywn: 13.258ms
getRouteModuleExports:0c7r6ut555wo: 13.262ms
getRouteModuleExports:0vnwm1zyvg19: 13.265ms
getRouteModuleExports:0o5wlzkjbs2h: 13.267ms
getRouteModuleExports:0jgj4c4e586j: 13.27ms
getRouteModuleExports:00dfdro84pq6: 13.273ms
getRouteModuleExports:0ewdue9e0if6: 13.272ms
getRouteModuleExports:0zl5fuqtveaq: 13.272ms
getRouteModuleExports:00s58cqqccll: 13.274ms
getRouteModuleExports:0r6qx1ybtw39: 13.277ms
getRouteModuleExports:0o2aj6x6gbab: 13.28ms
getRouteModuleExports:00kyxgeaaijw: 13.283ms
getRouteModuleExports:000x4ippg7az: 13.286ms
getRouteModuleExports:0uq0sfkj5pxo: 13.289ms
getRouteModuleExports:0md8xl9n2b6s: 13.295ms
getRouteModuleExports:00af6hmgaxwq: 13.299ms
getRouteModuleExports:00iatphp6pax: 13.302ms
getRouteModuleExports:0g97bio8m43m: 13.305ms
getRouteModuleExports:02s4lh2j8b2z: 13.308ms
getRouteModuleExports:0q53rkkk94ro: 13.31ms
getRouteModuleExports:0fa63yc5ee4k: 13.313ms
getRouteModuleExports:0i3gujb5yg8j: 13.317ms
getRouteModuleExports:0dp4yjkyw6b8: 13.321ms
getRouteModuleExports:0f4qfk7tji6w: 13.325ms
getRouteModuleExports:0791tfgxvq4s: 13.328ms
getRouteModuleExports:0tvznpri22el: 13.331ms
getRouteModuleExports:0300oom7hwg4: 13.335ms
getRouteModuleExports:0vuc3n8kuuli: 13.338ms
getRouteModuleExports:0av2kihqvrwo: 13.342ms
getRouteModuleExports:0p2dceynb0p7: 13.351ms
getRouteModuleExports:029swcyvk6xm: 13.356ms
getRouteModuleExports:048orj9s5oy1: 13.359ms
getRouteModuleExports:0yqao6s2cek9: 13.362ms
getRouteModuleExports:0r6pzghevrub: 13.365ms
getRouteModuleExports:03dmb7n5ezxf: 13.369ms
getRouteModuleExports:07dc6frh6fmq: 13.37ms
getRouteModuleExports:04k3221umpaf: 13.373ms
getRouteModuleExports:08gm8as3a06k: 13.376ms
getRouteModuleExports:02zxul40sbyi: 13.383ms
getRouteModuleExports:00venfhvtp5g: 13.387ms
getRouteModuleExports:0d1wsee5d5ip: 13.39ms
getRouteModuleExports:0kpthsqpglob: 13.393ms
getRouteModuleExports:0icrsxh2kbre: 13.352ms
getRouteModuleExports:0gm4brqjjapf: 13.346ms
getRouteManifestModuleExports:00mjzzipmmuv: 14.426ms

Copy link

changeset-bot bot commented Nov 23, 2023

⚠️ No Changeset found

Latest commit: 4acfb2f

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@hi-ogawa hi-ogawa changed the title perf(remix-dev/vite): use transformRequest for route exports anlaysis to utilize vite's transform cache perf(remix-dev/vite): use transformRequest for route exports anlaysis to utilize Vite's cache Nov 23, 2023
@hi-ogawa hi-ogawa changed the title perf(remix-dev/vite): use transformRequest for route exports anlaysis to utilize Vite's cache perf(remix-dev/vite): use transformRequest for route exports anlaysis to utilize Vite's caching Nov 23, 2023
@hi-ogawa hi-ogawa force-pushed the perf-vite-transformRequest-for-route-export-analysis branch from 0053fe8 to 9649e5b Compare November 23, 2023 12:34
@hi-ogawa hi-ogawa force-pushed the perf-vite-transformRequest-for-route-export-analysis branch from f1d29b6 to 58010e1 Compare November 28, 2023 03:16
…se `vite build --ssr` stuck?)"

This reverts commit d1cdc12.
@hi-ogawa hi-ogawa force-pushed the perf-vite-transformRequest-for-route-export-analysis branch from 977a746 to 0c95aef Compare November 28, 2023 07:50
@hi-ogawa
Copy link
Contributor Author

I thought this idea makes sense and it feels like a nice cleanup as well, but I don't have a definitive way to measure overall perf impact, so let me close this for now.

I'm suspecting the actual bottleneck is ssrLoadModule of server build, so saving some time on repeated calls of child compiler's getRouteManifestModuleExports might not be so effective.

@hi-ogawa hi-ogawa closed this Nov 28, 2023
@hi-ogawa hi-ogawa deleted the perf-vite-transformRequest-for-route-export-analysis branch November 28, 2023 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants