
はてなキーワード:ropeとは
https://szkwjp.sakura.ne.jp/suzukawaeditor_nansho.html
スズカワエディタの難所
スズカワエディタの作者たる私(YoshihikoSuzuki)の場合であるが、プログラミングにかかった時間は①~④に約2週間、⑤に約6週間である。⑥については機能によって大きく異なり、短くて1週間、長いもので2年近くかかっている。プログラミング開始から21年以上経過するが未だに継続中である。
この難所?RopeとかSumTreeでググればサルでもある程度は解決できる。
もしかしたら、できるかなと思い、実装してみたら、ディスクに書き出すこともできた。
"Ropes: anAlternative toStrings",by
Boehm, Atkinson, and Plass, inSOFTWARE--PRACTICE AND EXPERIENCE, VOL. 25(12), 1315–1330 (DECEMBER 1995).
https://www.cs.tufts.edu/comp/150FP/archive/hans-boehm/ropes.pdf
なんで知ってれば、鈴川エディタっぽいものは比較的簡単に作れる。
二分探索木版でもリーフノードをリンクドリストでつなぐのはくそ面倒だけどな…。
picetableという名前ではなく、RopeとかSumTreeという名前になってるけどな…。
https://github.com/oonyanya/FooList/tree/main
こっちはBigList.csあたり読めば元となったであろう論文が出てくるし、
https://tadaoyamaoka.hatenablog.com/entry/2019/08/18/154610
鈴川エディタやEmEditorで少ないメモリー使用量で巨大テキストをファイルを編集できるとうたってるが、.NETでも見事に再現できたぞ。
1.2億行×100文字の全置換えでGCのメモリー使用量は340MB程度で、行の操作は86MB程度、合わせて426MBだ。
その辺の.NET製テキストエディターコンポーネントに組み込んでも500MBぐらいで済むと思う。
(その代わりワークファイルは30GBぐらいは行ってるはず)
鍵はropeというデーター構造を使用することとropeにアクセスする際、ディスクに保存する機構を付け加えるだけだ。
特にソースコードで見るべき個所はBigList.cs、Node.cs、DiskPinableContentDataStore.csの所だけだ。
多少遅くて構わないなら、ディスクに保存することはそこまで難しくはない。
メモリーマップドファイルは何かと面倒なので使ってないが、.NETでMMDataStructuresとかメモリーマップドファイルを扱うやつがあるんで、メモリーマップドファイルでも行けるはずだ。
benchmark start
size:120000000
AllocatedGC Memory:66,304bytes
AllocatedGC Memory:101,257,168bytes
AllocatedGC Memory:101,247,232bytes
AllocatedGC Memory:333,371,424bytes
AllocatedGC Memory:333,257,000bytes
AllocatedGC Memory:331,904,816bytes
clear buffer
AllocatedGC Memory:66,304bytes
AllocatedGC Memory:86,939,136bytes
AllocatedGC Memory:87,272,912bytes
clear buffer
AllocatedGC Memory:69,448bytes
C#などコンパクションあり世代別GCを使った場合の話。参照型だとまた話は変わってくる。
http://s170199.ppp.asahi-net.or.jp/vivi/docs/buffer/edit_buffer.php#measure
つらい。
gap_vectorは少し早い。
何だよ。フィナボッチ数列にバランスの取れたノードを放り込んで再構築って。
操作自体はAVL木のリバランスよりははるかに楽だけど、こっちはこっちで訳が分からん。
ただ、テキストの操作はgap_vectorなみにやりやすい。
なお、既存のライブラリーはライセンス的な意味で地雷だったりする。
CPUが違うので参考程度に。
構築速度:gap_vector <rope <<< list
メモリー使用量:gap_vector <rope < list
RopeもといBigList+GapBufferでさくさくエディターの置き換え処理をやってみた。
使用したマシンはCore i7 14700、メモリー32GB、IntelARC A750。
100万行×100文字を置き換え。
replace1は3文字削除の3文字挿入で、3.5秒ぐらいで終わる。
replace2は3文字削除の4文字挿入で、4.9秒ぐらいで終わる
replace3は4文字削除の3文字挿入で、3.6秒ぐらいで終わる。
enumratotionはNULデバイスへの保存で、1.1秒で終わる。
benchmark start
AllocatedGC Memory:60,600bytes
AllocatedGC Memory:199,388,824bytes
AllocatedGC Memory:199,405,136bytes
AllocatedGC Memory:368,390,560bytes
AllocatedGC Memory:368,390,560bytes
AllocatedGC Memory:368,390,736bytes
clear buffer
AllocatedGC Memory:84,360bytes
100万行の行とインデックスの変換テーブルの追加と更新処理はこのくらいで終わる。
変換テーブルの処理は構築が0.2秒、行が増えない更新は0.1秒ぐらいで終わる。
AllocatedGC Memory:32,805,312bytes
AllocatedGC Memory:32,811,000bytes
clear buffer
AllocatedGC Memory:84,616bytes
以下、ソースコード。
一次元インデックスから二次元インデックス、すなわちバイト数であらわされる位置から行と桁への変換がテキストエディターだとよく発生する。
この変換を素早くするために変換テーブルを作るのだが、普通に作ると更新の時にO(N)かかる。
さくさくエディターの作者は局所的行更新手法で殆どの場面ではO(1)、最悪はO(N)にしていたが、色々と事故が発生しやすい。
特にstepRowをまたぐ状況でテーブルのほぼ全部の更新を避けようと思うと事故りやすい。
俺は何度も事故を起こした。
そこで別のやり方でオーダーを削減してみた。
https://github.com/rirufa/FooList/blob/main/List/BigRangeList.cs
考え方は至極単純でRopeをたどるときに変換テーブルの長さを覚えておき、ついでに変換を済ませておこうというごくごく簡単なものである。
この方法により、変換テーブルの更新はO(Log N)+M、探索はO(Log N)+O(Log M)程度で済ませられるようになった。
局所的行更新手法に比べるとだいぶ遅いが、Mが十分に小さければそこまでコストはかからないはず。
ただし、マーカーみたいに連続していないものを放り込んだら、うまく動かないのでそこはご了承いただきたい。
AllocatedGC Memory:32,803,672bytes
AllocatedGC Memory:32,809,360bytes
clear buffer
AllocatedGC Memory:82,976bytes
https://github.com/rirufa/FooList/blob/main/EditorDemo/Program.cs
16GBぐらいメモリーを積んでれば1.1GBまでは読み込めることを確認した。
ただ、ずるをしていて、行の構築はぎりぎりまでしないようになっている。
一応、最終行への行ジャンプと編集と削除、置き換えだけはできるし、保存と内容の表示もできるが、最終行まで表示すると3GB近くメモリーを食う。
読み込んだだけでも2.5GB近くはメモリーを食う。
読み込んでから操作できるようになるまでかかる時間: 35秒程度
保存: 13秒程度
全置換え: 25秒程度
全置換えからのアンドゥ: 25~40秒程度だったと思う
しかも、速いとか。
とはいえ、ここまでできたのBigList、もといRopeのおかげだ。
Ropeの存在を知らなかったら、.NETで巨大ファイルの編集は夢のまた夢だった。
とはいえ、BigListに制約(Int.MAX-1=2^31-1までの要素しか扱えない)があるし、LOH入りを回避するため、ブロックサイズを64KBに抑えてるので、せいぜい2GBぐらいまでしか扱えないが…
(BigListは計算上、4GBまでなら読み込みだけならできるけど、最大行数がInt.MAX-1=2^31-1までしか保持できないので、実質的には無理やと思う。それにそこまでの動作は確認してない。NTFSで一般には手に入らないマシンを用意してまで動作確認したマイクロソフトすごすぎ)
鈴川エディタもリンクドリストでそれぞれのファイルをつなげると遅いので、おそらくRopeの考え方を使っているものと思われるが、あの意味不明なリバランスのやり方を論文から読んでそのまま実装するのはすごいとしか言いようがない。
テキストエディタを高速化するためにある人が書いたBigListを改造して、リーフノードをリンクドリストでつないだら全列挙が早くなって、スタックオーバーフローしなくなった。
ただ、その代わり元々のコードにあったノードの共有機能はいらなそうなので省くことにした。
Core i5 10400F、メモリー16GBで、100文字×100行=1億文字を突っ込んで、あれこれ操作した場合はこのくらいの速度で動く。
benchmark start
AllocatedGC Memory:60,392bytes
AllocatedGC Memory:416,037,968bytes
AllocatedGC Memory:416,082,104bytes
AllocatedGC Memory:416,082,272bytes
AllocatedGC Memory:416,082,296bytes
AllocatedGC Memory:416,082,440bytes
clear buffer
ListやGapBufferだとGCに優しくないけど、BigListだとLOH入りしないので、GCに優しいのだ。
その代わり速度はBigListの中身はRopeなので、少し遅くなるのだ。
Ropeで、リーフノードをリンクドリストでつないだ場合、挿入と削除、追加、ランダムアクセスはO(Log N)、全列挙はO(N)なのだ。
MITライセンスなんで商用でも問題ないけど、元々のBigListのライセンスに不穏なことが書いてあったので、気になるなら、自分で書き直したほうがいい。
The rebalancing algorithmis from "Ropes: anAlternative toStrings",by
Boehm, Atkinson, and Plass, inSOFTWARE--PRACTICE AND EXPERIENCE, VOL. 25(12), 1315–1330 (DECEMBER 1995).
https://www.cs.tufts.edu/comp/150FP/archive/hans-boehm/ropes.pdf
http://hvivi.dyndns.org/sse/replaceAll.html
さくさくエディタのまねをして全置換えでベンチマークを取ってみた。
benchmark start
AllocatedGC Memory:60,392bytes
AllocatedGC Memory:440,048,840bytes
AllocatedGC Memory:440,082,632bytes
AllocatedGC Memory:440,082,656bytes
clear buffer
AllocatedGC Memory:82,280bytes
Rope<T>は削除と置き換え、文字列のランダムアクセスがO(log N)なのでさくさくエディタに比べると遅い。
大体のものは日本語でアルゴリズムやデーター構造の解説があります。
でも、時々、こういうのがあります。
https://www.cs.tufts.edu/comp/150FP/archive/hans-boehm/ropes.pdf
Rebalancing
Rebalancing produces a balancedversion of the argumentrope.The original
is unaffected.
(中略)
Many variations of this approach are possible. Our balance conditionwas expressed
in terms of length, and our algorithm tends tomove long ¯atropes close to the
root.One could also rebalance purely in terms of node count.
Ropeがくそ遅いのでリーフノードをリンクドリストでつなごうとしたら、訳が分からなくなりました。
適当にやってはいけないと思い、ググったら、Ropeのリバランスのやり方を解説した奴は英語の奴しかありませんでした。
あと、リンク先を読めばわかるけど、数学でおなじみの記号がいたるところに出てきます。
数3Cまで取ったほうがいいです。
大学に行けば体系的にアルゴリズムやデーター構造、最先端の技術を教えてくれますが、情報系の大学は数3Cが必須です。
そして、ネットに転がってるデーター構造の解説書は数3Cを勉強していることを前提に書かれていることが多いです。
微分積分が出た時代の数1Aと数2しかとってないので、この手の本はマジで訳が分かりません。
だから、おじさんは高校生向けの優しい、アルゴリズムやデーター構造の本で勉強しました。
なぜかというとライブラリーしか触れず、リンクドリストやAVL木、クイックソートや基数ソートをかじったぐらいのプログラマーは腐るほどいるからです。
だから、君たちはおじさんのようにはなるな。
あれは、すべてプロレス技なんだ。いや、これは冗談なんかじゃない。
みんな「ロールプレイングゲーム」として楽しんでいるけど、本当は「Rope-Press Gutbuster(ローププレス・ガットバスター)」の略だ。
つまり、ロープに押し付けられた勢いで腹をガツンとやられる技。腹がへこむなんてもんじゃない。あれを知らずにゲーム感覚でやってる奴ら、無防備すぎる。
次に「ATM」。これも危ない。「Automatic TellerMachine」だって?いやいや、違う。「Aerial Torture Maneuver(エアリアル・トーチャー・マニューバー)」だよ。
空中で拷問じみた関節技を繰り出される。お金を下ろすどころか、自分が宙を舞うことになるぞ。しかもそれが待っているのは駅前のコンビニ。油断してATMに近づけば、即座にプロレスの世界に引きずり込まれる。
日常に紛れ込むこうした略語が、どれだけ危険かを僕は訴え続けている。
だけど、みんな僕の話を聞いてくれない。
ある日、同僚のTが「PDF送っておいたから確認して」と言ってきたんだ。PDF、あれもプロレス技だよ。なんだと思う?「Piledriver Fast(パイルドライバー・ファスト)」だ。
頭から地面に叩きつけられて、しかもそれが高速だなんて、考えただけでも恐ろしい。僕は絶対にそのファイルを開かなかった。あんな危険なもの、目を通してはいけない。
さらに「CPU」。これは会社の会議中に頻繁に使われるから特に要注意。「Central Processing Unit」だって?そんなの表向きの意味にすぎない。「ChokeholdPower Uppercut(チョークホールド・パワー・アッパーカット)」の略だ。
首を絞められたあと、ものすごいアッパーカットが飛んでくる。これを毎日のように会社で話している奴ら、知らずにプロレス技を仕掛け合っているんだよ。僕はそのたびに身構えるけど、周りの連中は平気な顔して「CPUの性能が…」とか言っている。いつか全員がリングの上で痛い目に遭うのを、僕はただ見守るしかない。
僕の警告を無視して、略語を日常的に使い続ける奴らに嫌気が差し始めた頃、ついに「LOL」が出てきた。これも「LaughOut Loud」とかいうネットスラングだと信じ込んでいる人が多いけど、真実は違う。「Leglock Overhand Lariat(レッグロック・オーバーハンド・ラリアット)」だ。笑ってる場合じゃない。相手の足をねじって、顔面にラリアットが飛んでくるなんて、笑えないどころか恐怖そのものだ。SNSで気軽に「LOL」なんて使ってる奴ら、本当はリング上でバチバチにやり合ってるのに、本人たちは全然気づいてない。
僕はそんな略語三文字の世界を避けるため、いったん距離を置こうと思っていた。
だが、どうやらそれはもう不可能だ。
僕は逃げられない。日常に紛れ込む略語三文字英単語の世界から逃げることなんて、できやしなかったんだ。
僕はいつもプロレスのリング上にいるんだと、ようやく理解した。
こんな状況になっても、やっぱり誰も僕の話を信じてくれない。だけど、君は分かってくれるだろう?
気をつけろ、リングの上に立っているのは、もう君も同じなんだ。
| 北海道 | NorthSea Avenue |
| 青森 | BuleForest |
| 岩手 | Rock Hand |
| 宮城 | Palace |
| 秋田 | AutumnField |
| 山形 | Mountain Shape |
| 福島 | Fortune Isle |
| 茨城 | Thorn Castle |
| 栃木 | Hippocastanum |
| 群馬 | Horses |
| 埼玉 | Cape Ball |
| 千葉 | ThousandLeaf |
| 東京 | EastCity |
| 神奈川 | GodsRiver |
| 新潟 | NewLagoon |
| 富山 | Money Mount |
| 石川 | StoneRiver |
| 福井 | Weal Well |
| 山梨 | HeapedPear |
| 長野 | LongField |
| 岐阜 | Crossroad Hill |
| 静岡 | Silent Hill |
| 愛知 | Affection |
| 三重 | Triplicate |
| 滋賀 | GraceBless |
| 京都 | EmpireCity |
| 大阪 | Large Slope |
| 兵庫 | Soldier's Warehouse |
| 奈良 | Flat Hill |
| 和歌山 | Poem Mountain |
| 鳥取 | Bird Hunter |
| 島根 | IslesRoot |
| 岡山 | Small Hill |
| 広島 | Great Iland |
| 山口 | Mountain Entrance |
| 徳島 | Virtue Isle |
| 香川 | PerfumeRiver |
| 愛媛 | FairLady |
| 高知 | Erudite |
| 福岡 | Happy Hill |
| 佐賀 | AssistBless |
| 長崎 | Long Cape |
| 熊本 | BearBook |
| 大分 | Big Branch |
| 宮崎 | Shrine Cape |
| 鹿児島 | Fawn Isle |
| 沖縄 | OffingRope |
一番下にあります
3年前にこんなのを書いたんですけど
年齢以外は前回と同じです
| 順位 | ブランド名 | 20代前半女性 | 全体 | 20代前半女性率 |
|---|---|---|---|---|
| 1 | GU | 39,155 | 854,011 | 4.58% |
| 2 | UNIQLO | 32,768 | 992,603 | 3.30% |
| 3 | CONVERSE | 22,369 | 600,336 | 3.73% |
| 4 | LOWRYS FARM | 14,305 | 206,263 | 6.94% |
| 5 | ZARA | 14,240 | 360,267 | 3.95% |
| 6 | NIKE | 13,073 | 434,469 | 3.01% |
| 7 | WEGO | 12,464 | 293,300 | 4.25% |
| 8 | no brand | 11,347 | 259,766 | 4.37% |
| 9 | H&M | 9,843 | 319,177 | 3.08% |
| 10 | adidas | 9,687 | 274,050 | 3.53% |
| 11 | Dr.Martens | 9,514 | 258,288 | 3.68% |
| 12 | earthmusic&ecology | 8,394 | 150,651 | 5.57% |
| 13 | VANS | 8,207 | 278,140 | 2.95% |
| 14 | niko and... | 7,727 | 138,720 | 5.57% |
| 15 | Kastane | 7,287 | 62,786 | 11.61% |
| 16 | JEANASIS | 7,141 | 90,434 | 7.90% |
| 17 | しまむら | 7,026 | 174,112 | 4.04% |
| 18 | MOUSSY | 6,028 | 91,155 | 6.61% |
| 19 | FOREVER 21 | 5,971 | 95,721 | 6.24% |
| 20 | w closet | 5,425 | 51,827 | 10.47% |
| 21 | NEW BALANCE | 5,017 | 180,745 | 2.78% |
| 22 | 靴下屋 | 5,016 | 69,165 | 7.25% |
| 23 | GLOBAL WORK | 4,812 | 227,672 | 2.11% |
| 24 | VINTAGE | 4,805 | 95,920 | 5.01% |
| 25 | 無印良品 | 4,787 | 153,072 | 3.13% |
| 26 | KBF | 4,659 | 71,399 | 6.53% |
| 27 | RETROGIRL | 4,502 | 46,697 | 9.64% |
| 28 | Honeys | 4,327 | 54,119 | 8.00% |
| 29 | Ungrid | 4,169 | 87,129 | 4.78% |
| 30 | URBAN RESEARCH | 3,975 | 99,676 | 3.99% |
| 31 | GRL | 3,907 | 62,426 | 6.26% |
| 32 | Heather | 3,884 | 49,189 | 7.90% |
| 33 | MAJESTICLEGON | 3,738 | 53,085 | 7.04% |
| 34 | Daniel Wellington | 3,698 | 91,331 | 4.05% |
| 35 | BEAUTY&YOUTHUNITED ARROWS | 3,608 | 121,471 | 2.97% |
| 36 | mystic | 3,391 | 40,179 | 8.44% |
| 37 | DHOLIC | 3,380 | 55,686 | 6.07% |
| 38 | INGNI | 3,379 | 56,014 | 6.03% |
| 39 | FREAK'S STORE | 3,273 | 95,169 | 3.44% |
| 40 | BEAMS BOY | 3,244 | 48,144 | 6.74% |
| 41 | E hyphen world gallery | 3,235 | 47,750 | 6.77% |
| 42 | SLY | 3,214 | 45,311 | 7.09% |
| 43 | ORiental TRaffic | 3,165 | 48,563 | 6.52% |
| 44 | EMODA | 3,137 | 36,363 | 8.63% |
| 45 | who'swho Chico | 3,092 | 31,424 | 9.84% |
| 46 | PAGEBOY | 3,055 | 38,282 | 7.98% |
| 47 | adidas originals | 3,046 | 80,205 | 3.80% |
| 48 | CASIO | 2,955 | 45,503 | 6.49% |
| 49 | tutuanna | 2,947 | 33,737 | 8.74% |
| 50 | AZULbymoussy | 2,940 | 66,799 | 4.40% |
| 51 | Champion | 2,883 | 113,137 | 2.55% |
| 52 | SPINNS | 2,827 | 52,730 | 5.36% |
| 53 | SENSE OF PLACEbyURBAN RESEARCH | 2,814 | 81,254 | 3.46% |
| 54 | studio CLIP | 2,786 | 51,848 | 5.37% |
| 55 | Ciaopanic | 2,785 | 55,117 | 5.05% |
| 56 | SNIDEL | 2,711 | 39,378 | 6.88% |
| 57 | LEPSIM | 2,708 | 58,326 | 4.64% |
| 58 | archives | 2,621 | 21,925 | 11.95% |
| 59 | Reebok | 2,598 | 79,021 | 3.29% |
| 60 | Bershka | 2,527 | 45,510 | 5.55% |
| 61 | GAP | 2,502 | 128,628 | 1.95% |
| 62 | Levi's | 2,443 | 102,148 | 2.39% |
| 63 | RayBEAMS | 2,239 | 40,871 | 5.48% |
| 64 | one afteranother NICE CLAUP | 2,202 | 31,079 | 7.09% |
| 65 | jouetie | 2,153 | 29,787 | 7.23% |
| 66 | Lee | 2,143 | 80,214 | 2.67% |
| 67 | MURUA | 2,129 | 30,717 | 6.93% |
| 68 | G-SHOCK | 2,114 | 49,228 | 4.29% |
| 69 | Another Edition | 2,058 | 46,094 | 4.46% |
| 70 | Handmade | 2,002 | 92,833 | 2.16% |
| 71 | MarcbyMarc Jacobs | 1,998 | 28,787 | 6.94% |
| 72 | nano・universe | 1,997 | 103,339 | 1.93% |
| 73 | Samansa Mos2 | 1,992 | 48,150 | 4.14% |
| 74 | ROPE'PICNIC | 1,991 | 29,482 | 6.75% |
| 75 | ROSE BUD | 1,962 | 35,881 | 5.47% |
| 76 | COACH | 1,956 | 27,083 | 7.22% |
| 77 | JOURNAL STANDARD | 1,947 | 73,236 | 2.66% |
| 78 | BIRKENSTOCK | 1,943 | 58,635 | 3.31% |
| 79 | Vivienne Westwood | 1,922 | 32,353 | 5.94% |
| 80 | dazzlin | 1,832 | 22,224 | 8.24% |
| 81 | Teva | 1,816 | 42,827 | 4.24% |
| 82 | Right-on | 1,798 | 46,091 | 3.90% |
| 83 | POLORALPH LAUREN | 1,791 | 57,860 | 3.10% |
| 84 | Ray Cassin | 1,782 | 19,058 | 9.35% |
| 85 | OZOC | 1,776 | 18,235 | 9.74% |
| 86 | PUMA | 1,714 | 42,687 | 4.02% |
| 87 | BEAMS | 1,709 | 79,556 | 2.15% |
| 88 | merry jenny | 1,695 | 16,891 | 10.03% |
| 89 | coen | 1,672 | 64,685 | 2.58% |
| 90 | MICHAEL KORS | 1,671 | 16,222 | 10.30% |
| 91 | Avail | 1,654 | 25,804 | 6.41% |
| 92 | green label relaxing | 1,612 | 73,084 | 2.21% |
| 93 | cepo | 1,600 | 15,684 | 10.20% |
| 94 | STUSSY | 1,568 | 46,032 | 3.41% |
| 95 | ehka sopo | 1,560 | 17,863 | 8.73% |
| 96 | THE NORTH FACE | 1,517 | 81,533 | 1.86% |
| 97 | RANDA | 1,496 | 19,790 | 7.56% |
| 98 | STUDIOUS | 1,489 | 48,800 | 3.05% |
| 99 | ViS | 1,451 | 23,209 | 6.25% |
| 100 | X-girl | 1,423 | 27,031 | 5.26% |
| 101 | 3coins | 1,408 | 40,110 | 3.51% |
| 102 | marimekko | 1,385 | 22,751 | 6.09% |
| 103 | merlot | 1,380 | 31,994 | 4.31% |
| 104 | Lily Brown | 1,372 | 16,414 | 8.36% |
| 105 | HARE | 1,348 | 127,535 | 1.06% |
| 106 | Dickies | 1,348 | 49,652 | 2.71% |
| 107 | WHO'SWHO gallery | 1,346 | 21,157 | 6.36% |
| 108 | ESPERANZA | 1,335 | 12,191 | 10.95% |
| 109 | American Apparel | 1,333 | 24,339 | 5.48% |
| 110 | OLIVE des OLIVE | 1,311 | 18,366 | 7.14% |
| 111 | GUCCI | 1,306 | 42,621 | 3.06% |
| 112 | agnes b. | 1,300 | 35,113 | 3.70% |
| 113 | MHL. | 1,294 | 29,887 | 4.33% |
| 114 | LOUIS VUITTON | 1,246 | 24,843 | 5.02% |
| 115 | MERCURYDUO | 1,240 | 19,141 | 6.48% |
| 116 | CHANEL | 1,231 | 31,099 | 3.96% |
| 117 | Green Parks | 1,229 | 36,478 | 3.37% |
| 118 | TODAYFUL | 1,204 | 60,175 | 2.00% |
| 119 | EVRIS | 1,198 | 12,160 | 9.85% |
| 120 | mystywoman | 1,171 | 18,012 | 6.50% |
| 121 | SEVENDAYS=SUNDAY | 1,156 | 29,122 | 3.97% |
| 122 | GYDA | 1,147 | 11,643 | 9.85% |
| 123 | ADAMETROPE' | 1,144 | 46,595 | 2.46% |
| 124 | one way | 1,126 | 12,004 | 9.38% |
| 125 | NIXON | 1,119 | 25,155 | 4.45% |
| 126 | AMERICAN HOLIC | 1,115 | 25,169 | 4.43% |
| 127 | SM2 | 1,112 | 14,724 | 7.55% |
| 128 | UNITED ARROWS | 1,096 | 43,354 | 2.53% |
| 129 | CECIL McBEE | 1,093 | 10,297 | 10.61% |
| 130 | AmericanEagle | 1,045 | 27,855 | 3.75% |
| 131 | SpRay | 1,040 | 11,364 | 9.15% |
| 132 | emsexcite | 1,027 | 11,198 | 9.17% |
| 133 | Mila Owen | 1,024 | 16,509 | 6.20% |
| 134 | MILKFED. | 1,012 | 17,161 | 5.90% |
| 135 | URBAN RESEARCHDOORS | 1,000 | 28,537 | 3.50% |
135ブランド中前回から順位が最も低下したのは2016年に日本から撤退したAmerican Apparel(43位→109位)でした
店舗撤退やブランド終了といった事情が何もないブランドに限るとone way(69位→124位)になります
逆に上昇したのはTODAYFUL(180位→118位)、ROSE BUD(126位→75位)などです
ストライプインターナショナルは他にearthmusic&ecology(12位)、Green Parks(117位)、SEVENDAYS=SUNDAY(121位)、AMERICAN HOLIC(126位)などを展開しています
ステーショナリー、靴などに名前を貸すライセンス事業は継続するようです
ジャパンイマジネーションは他にAnk Rouge、BE RADIANCE、a.g.plusなどを展開していますがいずれも本ランキングでは調査対象外(全体コーデ数が10000未満)で、この中だとAnk Rouge以外も撤退とのことです
no brandはブランド名ではなく、文字通りノーブランド(ブランド不明)の服のことです
同様にVINTAGEは古着、Handmadeは手作りのものを指しています
サマンサモスモスがSM2とSamansa Mos2に分かれているのは冒頭に貼ったWEARのブランド一覧ページに2つ載っていたためです
こういうのを除外したり統合させたりしていると切りがないので全部そのままにしています
手動です
他にこういうサイトがないので仕方ないです
ちゃんとした調査ではなくあくまでもネタなので細かいことは気にしてません
Permalink |記事への反応(17) | 18:25
彼氏が165cm52キロ(これでも前は45キロしかなかったからマシになったほう)なので服の選択肢が少ない。今回は私が彼氏に色々と着せてみて調べた低身長ガリでもイケるブランド、無理なブランドを述べていく。
・nanouniverse
・attachment
・beauty andyouthunited arrows
・united arrowsgreen label relaxing
・EDIFICE
・UNITEDTOKYO
・STUDIOUS(ココで扱ってるドメブラも基本ok!)
→基本いける、ものによっては無理
・Luis
・AURALEE
・COMOLI
・グラフペーパー
・1LDK
・flannel
・マーカウェア
→まじで!!この辺は!!ガリは!!やめたほうがいい!!!ブッカブカなるから!!!!私もこの辺きてる男好きで、彼氏にも進めてみたけど全く似合ってなかった泣
あと、男も骨格診断は絶対やった方がいいです!!!私の彼氏はいわゆるウェーブだとわかってから、似合う服を選びやすくなった気がするので。
それから、足元!!ガリガリの人は靴はシンプルなやつのが合う!!私の彼氏も流行りのゴツいスニーカーに手を出してたけど、1色のものはともかくカラフルなハイテクスニーカーとかは全く似合わずでした・・・