Ironed out the last performance issues with my full 2.5 m line codebase explorer. 120hz awesomeness. Can only upload 60fps video tho. Much nicer uncompressed pic.twitter.com/LUsrmVaI6L
In Arends' video, you can see huge canvases of code hanging in 3D space. The user can move between them, fly closer and read individual fragments. According to Arends, the X network can only publish videos at a frequency of 60 FPS, although the visualizer itself, he claims, works at a frequency of more than 120 frames per second.
Initially, this effect came at a cost in RAM. A 2.5 million row visualizer took up about 21 GB of RAM. After adding indexes and stream compression, Arends reduced that to about 3.5 GB, and says that's not the limit of optimization.
He didn't stop at 2.5 million lines either. The developer tried loading the entire Chromium source code tree into the visualizer — about 51 million lines. According to him, the system managed it in about 60 seconds.
To avoid having to simultaneously hold millions of lines of code in memory and display them in detail, Arends arranged for the necessary data to be loaded gradually. The system stores some of the information on disk, and code that is far from the user can be displayed in less detail.
This way, the visualizer doesn't have to process the entire huge code base at once. This significantly reduces the memory load.
Arends admits that the practical utility of this format is limited. However, users are already suggesting adding visualizations of dependencies between parts of a project or showing how the code has changed over time. Then the “flight” could help not only admire the codebase, but also understand it.
A similar idea is already used in CodeCharta, where the code base is transformed into a kind of 3D city: files become buildings, and their parameters can show the size, complexity, and other characteristics of the code. However, there is no possibility to "fly" past millions of lines there.
Arends wants to eventually turn his visualizer into a product and sell it for a small fee. And when asked why he created it in the first place, his answer was simple: “because I could.”
Previously, dev.ua also wrote about Relia — a tool that visualizes the structure of a codebase and shows the connections and data flows between its parts. Unlike Arends' experiment, visualization there has a more practical purpose — to help developers understand the logic of the system.
“Є мрія - відсканувати “Азовсталь”: інтерв’ю з дизайнером, який створює 3D-музей війни
Тривимірний музей української війни, придатний для експонування в Метавсесвіті, вже створюється онлайн — фактично, кожна людина з будь-якої країни просто зараз може подивитися, як виглядають наслідки російського вторгнення в 3D. Робить його дизайнер Яро, він же — Yaro Pro, громадянин Словаччини, з 4 років живе в Києві, випускник Інституту журналістики, зараз увесь вільний час їздить зруйнованими містами та селами та сканує шматки історії, після чого створює моделі об’єктів і розміщує їх в мережі. Зараз моделі Яро — частина дослідження японського вченого, котрий раніше створив цифровий архів Хіросіми та битви за Окінаву. Історія — в інтерв’ю dev.ua.
Хочеш стати 3D-художником у геймдеві та створювати героїв, що підкорять серця гравців? 5 курсів, які допоможуть це втілити
Мрієте потрапити в геймдев, щоб оживляти героїв і малювати фантастичні об'ємні образи, які б захоплювали та дітей, і дорослих? Тоді вам у 3D. Але цьому доведеться повчитися. І dev.ua знає, де почати і як покращити скіли вмілим художникам.
«Скільки ще разів українцям пояснювати цим створінням, що це наша батьківщина»?! Добірка робіт діджитал-художників, в яких вони висвітлили війну в Україні
Як багато болю і страждань завдала всім війна. Та найгостріші переживання потребують виходу. І один з них — це творчість, де найболючіші удари війни знайшли свій відгук.
Ми зробили добірку атмосферних робіт цифрових художників, що ілюструють війну чи ту реальність, у якій ми всі зараз перебуваємо.
Якщо ви вважаєте, що є роботи, які варті окремої добірки, прошу надіслати інформацію про них до електронної пошти [email protected]
Have important news to share? Message our Telegram bot
Key events and useful links in our Telegram channel