2018-07-31

GCCのgit移行が難航中

GCCはgitへの移行を計画しているが、GCCの既存のsubversionレポジトリをgitレポジトリに変換する作業が難航している。

GCCの移行作業を検証しているのは他ならぬEric S. Raymond(ESR)だ。

ESRお手製の変換ツール、reposurgeonはsubversionからgitへの変換ができる。

Resource page for reposurgeon 3.44

しかしGCCは30年もの歴史を持ち、そのsubversionレポジトリも複雑だ。

ESRはGCCのためにreposurgeonのバグを潰し、勢い変換しようと試みたが、意外な障害に出くわした。メモリ不足だ。

GCC's Conversion To Git Is Being Held Up By RAM, a.k.a. Crazy DDR4 Prices - Phoronix

ESRの所有する64GBのメモリを詰んだマシンではメモリ不足で処理できない。そしてDDR4メモリの値段は高騰している。GCCのビルドサーバーに128GBのメモリを詰んだものがあるからそれを使わせてくれとか、reposurgeonをPythonからGoに移植すればメモリ消費量は減らせる可能性があるが移植は困難を極めるとか、ESRに投げ銭してメモリを買わせようなどと議論をしていたのが7月はじめ。

さて、今はメモリ以外の問題に出くわしている。

GCC's Conversion To Git Is Still Turning Out To Be A Massive Headache - Phoronix

どうもGCCの膨大で複雑な歴史を正しくgitで表現する方法について議論の余地がある他、変換結果が壊れることもある。問題を解決したいが、変換自体がとても遅いため、デバッグが困難だという。

https://gcc.gnu.org/ml/gcc/2018-07/msg00322.html

トンネル出口の明かりが見えたと思ったら対抗列車が突っ込んできやがった。

もう変換はほぼほぼ終わりだと思っていたのに。俺はtrunkとブランチすべてがクリーンに変換されるのを確認したのに。捨ててもいいことに同意した失敗ブランチただ一つを除いては。

後残っているのはexecute-permission propagationとかmid-branch deleteをどうするかという問題だけで、前者はすでに解決済みだし、後者も解決に取り掛かっている。最終的には年末には、たぶん8月とか9月には、完了できるはずだったのに。

そしたらこのザマよ。俺の最新の変換がtrunkで間違った結果を出しやがった。これは実際ヤバイ問題で、GCCレポジトリがあまりにも巨大すぎるので調査するのに時間がかかりすぎる。SVNダンプファイルをreposurgeonで読み込むだけで4.5時間かかるし、フル変換に9時間はかかる。レポジトリは俺が最適化を考えるのと同じぐらい早く増大しているぜ。

しかも悪いことに、クリーンな変換ができるコミットまで戻っても失敗する。たぶん俺がへんてこなブランチコピーの対処を実装した結果こうなってるんだと思う。

パーティーに遅れてやってきた奴のために説明してやると、Subversionのダンプファイルの処理シーケンスの解釈は単純で検証も楽だ。ブランチコピー操作を除いてはな。ブランチコピーが他の操作に及ぼす影響だけはマジで闇が深い。

Subversionのコードが何をすべきかっていう正しいセマンティクスは存在するわけだが、古のSubversion開発者が理解していたことは、今や失われている。ダンプフォーマットはまともにドキュメント化されていない。今の不完全なドキュメントが存在する理由は、他でもない俺が解析したからだ。でも俺のドキュメントも疑問だらけだし、その疑問にはSubversion開発者も回答できないできる。

なのでレポジトリを変換する際にブランチコピーに関連した謎の挙動に出くわすのはよくあることだ。普通、おれは問題のコミットをbisectして、

  1. ダンプを問題が再現する最小のセグメントに切り取る
  2. content blobsをsource commitを識別できるunique small cookiesに置換する処理を行って結果が正しいことを検証
  3. topological reduceしブランチコピーもプロパティ変更でもない無価値なコミットを除去し、結果が正しいことを検証
  4. 手動で不必要なブランチをreposurgeonで削除

いつもなら、俺は今頃、問題を再現できる割と小さめのレポジトリ(今までで200コミットを超えたことはない)を作ってる。デバッグレベルを上げて変換を観察し、何が起こっているのかを観察する。そして問題を修正し、問題を再現する最小例は新たなテストケースになるって寸法だ。

これによって、ダンプファイル解析を着実に改善していき、Subversionのコードがやっていることをより忠実にエミュレートしていく。簡単な仕事ではないが、エッジケースを埋めていくほど楽になる。今まではこれでうまくいってきた。

GCCレポジトリのサイズでは、この戦略がうまくいかない。軽く計算するだけで、bisect一回で最短でも18日かかる。現実的には一ヶ月近くかかるだろう。

つまり、現状ではゲームオーバーで負けたってことだ。GCCレポジトリはでかすぎる上に変すぎる。

この問題を現実的に解決するには、俺のツールはすっげー速くなる必要がある。だいたい桁違いに早くないといかん。

ハードウェア性能を上げるのは無理だ。シングルプロセスを1.3GHz以上にあげたコンピューターはこの世に存在しないし、問題は並列化できない。

ソフトウェアの変更でうまく行く可能性はある。俺はreposurgeonをPythonからGoに移植するということについて考えている。repocutterで実験してみたところ、{Python版の40倍高速化した。reposurgeonではそんなに高速化するとは思えないが、問題を現実的に解決できるぐらいには高速化できるだろうと踏んでいる。40倍の半分だったとしても、9時間のテストランが13分になるわけだから。

この計画の問題点は、GOに移植するのは困難を極めるってことだ。めっちゃむずい。どのくらい時間がかかるかわからんが数カ月単位でかかる。

GCCはどのくらい辛抱強く待つのか決める必要があるな。現状だと、今のソースツリーの状態をそのままgitにしていちからはじめるほうがマシかもしれん。歴史は記録だけに留めるとして。

55 comments:

  1. NAGAQQ.COM | AGEN BANDARQ | BANDARQ ONLINE | ADUQ ONLINE | DOMINOQQ TERBAIK

    Yang Merupakan Agen Bandarq, Domino 99, Dan Bandar Poker Online Terpercaya di asia hadir untuk anda semua dengan permainan permainan menarik dan bonus menarik untuk anda semua

    Bonus yang diberikan NagaQQ :
    * Bonus rollingan 0.5%,setiap senin di bagikannya
    * Bonus Refferal 10% + 10%,seumur hidup
    * Bonus Jackpot, yang dapat anda dapatkan dengan mudah
    * Minimal Depo 15.000
    * Minimal WD 20.000

    Memegang Gelar atau title sebagai Agen BandarQ Terbaik di masanya

    Games Yang di Hadirkan NagaQQ :
    * Poker Online
    * Bandar Poker
    * BandarQ
    * Domino99
    * AduQ
    * Sakong
    * Capsa Susun
    * Bandar66 (ADU BALAK)
    * Perang Baccarat (NEW GAMES)

    Info Lebih lanjut Kunjungi :
    Website : NagaQQ
    Facebook : Facebook
    WHATSAPP : +855967014811
    Line : Cs_nagaQQ
    TELEGRAM :+855967014811

    BACA JUGA BLOGSPORT KAMI YANG LAIN:
    agen bandarq online/
    Kemenangan NagaQQ/
    Daftar NagaQQ
    agen bandarq terbaik

    ReplyDelete
  2. Hello! I'm at work surfing around your blog from my new apple iphone!
    Just wanted to say I love reading through your blog and look forward to all your posts!
    Carry on the fantastic work!
    Liga99
    Judi QQ Online
    BandarQ
    Situs pkv
    pkv games
    Agen Poker
    Stus judi pkv

    ReplyDelete
  3. Daftar situs judi poker online terpercaya, agen domino qq online atau yang biasa disebut dengan Pemburuemas hadir kembali memberikan pilihan agen judi terbaik dan terpercaya bagi anda semua teruntuk permainan idn poker dan permainan judi qq domino online serta poker idn dan lainya seperti poker online, situs judi bola, ceme online, qq online atau qiu qiu serta capsa susun. Akan tetapi saat ini yang sedang viral dan banyak diminati adalah permainan bandar ceme online dan judi online dimainkan menggunakan kartu yang sama. Skala penilaian kemenangan yang sama berbasis qiu qiu atau qq online jadi para pemain berlomba-lomba untuk angka sembilan dan permainan ini sangat banyak diminati di Indonesia.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Thanks for the useful information. It is interesting information, สมัคร แทงบอล thank you very much.

    ReplyDelete
  6. You were great and everyone received so much from your experience and knowledge
    Absolutely amazing, thank you for sharing your knowledge with me.

    Im a software developer working in ISC888 แทงบอลออนไลน์ Inc. in Thailand.
    I have fond of web development, technology, and programming. I’m also interested in education and entrepreneurship.

    สล็อตออนไลน์

    ReplyDelete
  7. Thank you so much for this wonderful content!

    ReplyDelete
  8. Thanks for sharing a great article.
    You are providing wonderful information, it is very useful to us.
    Keep posting like this informative articles.
    Thank you.

    Get to know about content://com.avast.android.mobilesecurity/temporarynotifications

    ReplyDelete
  9. ‍Then comes the question of what is SOW (statement of work) of any given project or assignment. Few of us get along that SOW is the same as the scope of work. The statement of work (SOW) in an RFP or RFQ defines a project’s goals, deliverables and performance criteria. A scope of work (SOW), included in the statement of work, describes the specific tasks the contractor will perform to meet objectives. In a freelance marketplace for telecom engineers, Statement of Work (SOW) holds of paramount importance so as to comprehend better before initiation.

    sow

    ReplyDelete
  10. Webfreakworld is a dais for all the latest innovative technology updates and news, and this is also a place for mobile gadgets, artificial intelligence, ios, android apps, digital marketing, business, reviews and information. content://com.avast.android.mobilesecurity/temporarynotifications

    ReplyDelete
  11. เราคือผู้ให้บริการแทงบอลออนไลน์ mgwin88 สมัคร อย่างเป็นทางการที่ยอดเยี่ยมที่สุดในตอนนี้ เรามีทีมงานที่มีคุณภาพ ไว้รองรับการให้บ้ริการสำหรับท่าน การเงินมั่นคง จ่ายเร็ว จ่ายไว จ่ายไม่อั้น ระบบ ฝาก-ถอน ที่รวดเร็วขึ้น ด้วยการฝากเงินพร้อมเล่น ภายใน 1 นาที และถอนเงินใน 2 นาที มีแอดมินคอยบริการตลอด 24ชม. เราจึงมั่นใจเป็นอย่างยิ่งว่า ลูกค้าและสมาชิกของเราทุกคนจะพอใจในรูปแบบการบริการของเราอย่างแน่นอน

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete
  13. VEGUS168S
    VEGUS168S
    VEGUS168S
    VEGUS168S
    VEGUS168S
    IF YOU NEED TO RICH CICK BELOW
    ติดต่อเรา

    ReplyDelete

  14. Very informative post I really like it. Happy to hear about it more. dune paul atreides coat

    ReplyDelete
  15. Thanks For sharing such valuable information. Really it is a great post.

    torrentgalaxy proxy

    ReplyDelete
  16. I am actually happy to read this website posts which carries plenty of helpful data, thanks for providing these kinds Feel free to visit my website;
    국산야동



    ReplyDelete

  17. I just found this blog and have high hopes for it to continue. Keep up the great work, its hard to find good ones. I have added to my favorites. Thank You Feel free to visit my website;
    일본야동

    ReplyDelete
  18. Saat ini togel deposit pulsa 10rb tanpa potongan besar sudah bisa dimainkan di agen Majalah4D bersama agen togel online anda bisa melakukan togel deposit pulsa 10rb hanya di Agen Togel Toto 4D hanya dengan menggunakan 1 user id saja.


    Togel Toto 4D
    Togel Toto 4D
    Togel Toto 4D
    Sabung Ayam Online
    Link Sv388
    Sabung ayam online
    Aplikasi sv388
    Slot Online Gacor
    Slot Gacor

    ReplyDelete
  19. BETFLIK https://betflixs.net เว็บพนันออนไลน์ รูปแบบใหม่ ฝาก-ถอน ไม่ต้องแจ้งสลิป สามารถถอนเงินออได้ตลอดทั้งวัน-ทั้งคืน ไม่จำกัดยอดเงินในการถอน ฝากเงิน 1 บาทก็ฝากได้ ทุกรายการถอนเงินของคุณไม่มีการหักค่าทำเนียม หรือค่าบริการใดๆทั้งสิ้นตลอดชีพ สมัครเพียงเดียวเล่นได้ครบรูปแบบ ทุกประเภท คาสิโนออนไลน์ สล็อตออนไลน์ แทงบอลออนไลน์ เกมไพ่ และยิงปลา แทงขั้นต่ำเพียง 5 บาท

    ReplyDelete
  20. Pretty useful article. I merely stumbled upon your internet site and wanted to say that I’ve very favored learning your weblog posts. Any signifies I’ll be subscribing with your feed and I hope you publish once additional soon. 메이저사이트
    xx

    ReplyDelete
  21. Our Australian Law Assignment Help specialists guide you and help you with your homework and different assignments. They additionally mentor you with respect to how to finish them to score better. Our services are always very reasonably priced.

    ReplyDelete
  22. โจ๊กเกอร์สล็อต แหล่งทำเงินที่ได้ถูกออกแบบการเล่นที่ลื่นไหล ทำเงินออนไลน์ผ่านเว็ป jokerslot.ninja ระบบการเล่นที่ได้ยกระดับให้ลื่นไหลไม่มีสดุด การทำเงินที่ยังคงความคลาสสิกที่ทุกท่านคุ้นเคบ เปิดให้บริการแล้ว.

    ReplyDelete
  23. Untuk merasakan keuntungan berkali lipat tentunya anda harus bertaruh dengan bandar judi slot gacor terlengkap dan paling terpercaya malam ini Raja Gacor. Permainan judi slot gacor yang diberikannya di ciptakan secara khusus dengan sistem bermain yang adil tanpa adanya kecurangan sedikit pun dan harga bet nya sangat murah sekali. Raja Gacor selaku bocoran situs judi slot gacor mutah menang tentunya akan selalu memberikan anda keuntungan kissing mulai dari adanya jackpot kissing, promo, bonus, hingga hadiah utama berupa motor dan mobil. Untuk lebih lanjut lagi, anda bisa mengklik link berikut : https://52.76.249.111

    ReplyDelete
  24. thank you for sharing the knowledge you have, this info adds to my insight freebet

    ReplyDelete
  25. kuttymovies 2022 These portals including YTS and Isaimini are uploading pirated digital content to their websites. The worst thing is their illegal activities are increasing day by day, even after the government’s strict rules.

    ReplyDelete
  26. Cheat RTP Maxwin Slot Gacor rajahoki Terpercaya
    Pragmatic Play

    RajaHoki Slot Gacor Online Terpercaya Bocoran RTP Live Tertinggi!. Sebuah layanan judi slot online terpadu dan tergacor yang bisa kita saksikan. pada perkembangan permainan slot gacor ini sangat menarik. di sajikan dengan banyak variasi jackpot hingga keuntungan yang berlimpah . maka dari itu anda harus mengenali sebuah layanan situs judi slot online rajahoki . di mana pada pembahasan kali ini sebuah situs judi slot raja hoki akan memberikan banyak keuntungan bagi para pemainnya . beberapa keuntungan situs raja hoki bisa kita nikmati dengan menjadi member situs ini . memang raja hoki adalah layanan judi online yang memiliki game utama slot online RTP Tertinggi. bagaimana tidak tinggi sering sekali para pemain Rajahoki mendaapatkan banyak maxwin . lalu keseruan apa lagi yang akan di sajikan situs rajahoki kekita semua mari kita simak pembahasannya.
    Situs Raja Hoki Bocoran Slot RTP Tertinggi !
    Di mana Pada Situs ini anda akan mendapatkan nama nya fasilitas layanan bocoran rtp slot . dari segi customer service hingga segi permainan raja hoki sanagat mengutamakan kenyamanan para pemain. tentu dengan RTP slot tertinggi yang di sediakan rajahoki slot gacor untuk kita semua hal ini akan membuat kita nyaman bermain. maka jangan sampai salah pilih situs kawan . dengan partner bersama kami anda akan mendapatkan keuntungan menang slot online dengan mudah . hal ini bisa kami buktikan dengan anda bergabung bersama kami karena dengan kemenangan anda itu lah keuntungan kami. maka dari itu jangan lupa main slot rajahoki slot gacor lah tempatnya. beberapa hal lain yang akan membuat anda senang bermain di sini adalah seperti kelebihan berikut ini. Pelayanan Bank Yang Lengkap Sebagai Situs judi slot online rajaoki akan memberikan nama nya pelayanan bank online 24 jam . serta pada situs ini anda akan di manjakan dengan layanan bank terlengkap kawan dari segi kecepatan transaksi hingga kenyamana para pemain di jaga 100% bersama kami. Tentu dari bank daerah hingga bank nasional kami menerima semua deposit untuk membuat anda nyaman bersama kami . selain hal ini kami juga menyediakan nama nya deposit melalui E Wallet dan Pulsa . kemudahan transaksi akan membuat anda jaman bermain kapan saja dan di mana saja kawan.

    https://rajahoki.xn--6frz82g/

    https://rtprajahoki.xn--6frz82g/

    ReplyDelete
  27. This article reminds me to keep looking and looking for new information and things.
    But I don't understand what the substance of positive thinking itself is like and how to make our thoughts positive. Maybe in another article can explain a little about the meaning of positive thoughts. visit my webpage slot server thailand

    ReplyDelete
  28. ทางเข้าเล่น pg slot เว็บสล็อต ที่คนนิยมเล่นเยอะที่สุด ต้องยกให้เว็บ pg-slot.game ยืน 1 เว็บตรงสล็อตpg วันนี้เราอัปเดตเว็บใหม่ ใช้ระบบทันสมัย ที่สุด ฝากถอน รวดเร็ว

    ReplyDelete
  29. จี คลับ สล็อต มือ ถือ พวกเรามีโปรโมชั่นระดูที่คุณลูกค้าถูกใจอย่างแน่แท้ pg slot สล็อตออนไลน์เล่นได้เงินจริง สำหรับเพื่อการแจกเครดิตฟรี คอเกมสล็อตทั้งหลายแหล่หรือสมาชิกใหม่

    ReplyDelete
  30. กงล้อ 8888 อีกหนึ่งวิถีทางสำหรับในการสร้างผลกำไรที่มีผู้เล่นมีความสนใจเป็นอันมากเป็นอีกหนึ่งผู้บริการเกมสล็อตออนไลน์ซึ่งมีระบบระเบียบที่ล้ำสมัย pg slot คุณภาพที่สุดใน2023

    ReplyDelete
  31. I couldn't agree more with your insightful points. breast pump price in pakistan This blog post truly hit the mark!

    ReplyDelete
  32. ทดลองเล่น pg slot เว็บเกมสล็อตออนไลน์น้องใหม่จากค่าย พีจีสล็อต ค่ายเกมสล็อตออนไลน์อันดับ 1 ที่ลูกค้าทั่วโลกต่างยกย่องให้เป็นเว็บเกมสล็อตออนไลน์อันดับ 1 ตลอดการ

    ReplyDelete
  33. superb i really like it thank you so much for sharing this with us memorial service video production in california

    ReplyDelete
  34. I thought your method of delivering the material was good; keep checking back for more.

    ReplyDelete
  35. pgสล็อต สล็อตออนไลน์ เว็บตรง แตกง่าย จุดเริ่มของพวกเรานั้นพวกเราก็จำเป็นต้องขอย้อนไปในช่วงเวลาที่พวกเรานั้นยังปฏิบัติงานประจำอยู่เลย pg slot ช่วยให้ท่านได้สนุกไปกับเรา

    ReplyDelete
  36. This comment has been removed by the author.

    ReplyDelete
  37. Great post! Easy to understand and super informative for more Tote Cowhide Purse

    ReplyDelete
  38. สล็อต เว็บ ตรง จากค่ายเกมสล็อตออนไลน์ชื่อดังอันดับ 1 ที่นักพนันทั่วโลกให้การยอมรับว่าเป็นค่ายเกมสล็อตออนไลน์ที่ดีที่สุดตลอดกาลกับค่าย PG SLOT ที่มาแรงที่สุดในปี 2022

    ReplyDelete
  39. This comment has been removed by the author.

    ReplyDelete
  40. The change battle net password must be at least 8 characters long. Longer passwords are generally more secure.

    ReplyDelete
  41. Fair astonishing working fashion . can you it would be ideal if you let me know approximately your following web journal? i cant hold up any longer. Cyberpunk 2077 Bomber Leather Jacket

    ReplyDelete
  42. Websites such as kuttymovies Tamilmovies, Tamilrockers, Movierulz, and Filmyzilla have simplified access to pirated movies and web series,

    ReplyDelete
  43. ClearHolidays cordially invites everyone to discover places to visit in Rampur Bushahr, a must-visit destination in Himachal Pradesh.

    ReplyDelete
  44. #Outstanding post once again. I am looking forward to more updates.

    ReplyDelete
  45. Thank you for sharing such a knowledgeable blog post.

    ReplyDelete
  46. I appreciate how your writing is both educational and actionable. This post, in particular, offered a series of steps that I can put into practice to enhance my daily routine and boost productivity.

    Racing Jackets

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.