Programo mi Propio Memory Allocator en Rust

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ •

  • @AntonioSarosi
    @AntonioSarosi  2 роки тому +12

    🔴 Mastermind - Código BF22 para un 40% de descuento hasta el lunes.
    www.mastermind.ac/?ref=225b86

  • @ZeroBl_
    @ZeroBl_ 2 роки тому +17

    Bastante bien volver a las raíces con un video más técnico de programar e ir mostrando los avances y comentando los resultados de dicha "Alpha" como en los viejos tiempos.
    Sobre me tema de los alloc y dealloc la verdad es que cuando uno hace esta clase de proyectos más "under the hood" termina apreciando más ciertas cosas ya hechas, además de entender verdaderamente a nivel interno los funcionamientos de los algoritmos y librería usados día a día con sus implicaciones.
    Sigue así Antonio.

  • @kristiandrex
    @kristiandrex 2 роки тому +7

    La mejor frase del video jajaja 35:47
    Buen video Antonio

  • @0al3x
    @0al3x 2 роки тому +13

    puff crack que buen contenido, desde hace mucho tiempo estoy hasta los hue**s de los how to... tu hablas y explicas los temas a nivel conceptual eso me gusta!, y es muy dificil encontrar contenido asi...

  • @retrogameplaysgordis
    @retrogameplaysgordis 2 роки тому +4

    Super interesante video Antonio, habia escuchado sobre el malloc y lo habia visto en tutoriales de motores graficos avanzados, pero no sabia casi nada, sin duda estás a otro nivel amigo.
    Quedamos esperando esos dos videos que mencionaste al final y más videos de Linux!
    Saludos desde Colombia 🇨🇴

  • @devtadeo
    @devtadeo 2 роки тому +107

    Antonio: "Esto tiene un pequeño problema y es que esta hecho en C" Yo: "no le veo problema alguno"

    • @BerlinSantos
      @BerlinSantos 2 роки тому

      Ni yo

    • @Bleibruk
      @Bleibruk 2 роки тому +2

      Más que sea un verdadero problema, es que la tendencia está yendo a programar en rust

    • @devtadeo
      @devtadeo 2 роки тому +2

      @@Bleibruk buena suerte intentando encontrar trabajo entonces, aunque la curva de aprendizaje de Rust es menor que la de C++ Rust todavía es bastante "inmaduro" para ciertas cosas aunque he de reconocer que el manejo de errores es bastante bueno y el borrowing es algo ingenioso

    • @BerlinSantos
      @BerlinSantos 2 роки тому

      @@Bleibruk yo no creo que el trabajo de años que se ha hecho en C y C++ se vaya a volver a escribir en Rust, para mí el futuro puede que esté en Carbon.

    • @Bleibruk
      @Bleibruk 2 роки тому +1

      @@BerlinSantos y quién dice que se va a volver a escribir tooodooo el trabajo de años... Sin embargo ya hay una iniciativa para re escribir los componentes más críticos en rust. Ahora, por algo rust tiene interoperabilidad con C/C++... Cómo cambiaría eso con carbon? El tiempo lo dirá realmente

  • @anomd3v
    @anomd3v 2 роки тому

    Este men es una maquina. Es bueno tener gente como este. Donde el contenido es free y explica lo que uno quiere saber, como lo hizo, y que uso para ello, hasta el codigo deja. Para que ya uno lo revise y comprenda el resto. Podria decirse que este video no tiene, nada de relleno, los 37 minutos mas rapidos que pasaron.

  • @marza5592
    @marza5592 2 місяці тому

    Estoy desarrollando una base de datos orientada a objetos y la teoría que has dado sobre el mapeo de memoria me ha resultado muy muy útil. Gracias!!

  • @Gomplayer12
    @Gomplayer12 2 роки тому +6

    Estaría interesante ver como logras hacer un sistema operativo desde el kernel hasta lo que ve el usuario final.
    Aprovechando todo lo que has aprendido.
    Excelente video.

    • @Aarch_64
      @Aarch_64 2 роки тому

      Nsmms, el wey se tardaría como 5 meses haciendo todo eso, y sin contar de que probablemente sea programado en asambler, C y como lo veo que le gusta rust capas y las capas de encima las programé en Rust

  • @cesara.mayora2414
    @cesara.mayora2414 2 роки тому +32

    Una vez intente de hacer mi propio malloc en C. Fue el proyecto en el que mas tenia que darle a la cabeza para intentar hacerlo todo sin tener que usar el propio malloc xd

  • @jonathan8406
    @jonathan8406 2 роки тому +1

    Que bueno que vuelvan estos vídeos, esto significa más contenido de Rust 🦀

  • @isidroarias6027
    @isidroarias6027 28 днів тому

    Ha sido muy interesante la parte de las optimizaciones. Gracias!

  • @alecksandrborovkov7602
    @alecksandrborovkov7602 2 роки тому +1

    Esta super cool hacer este tipo de proyectos, porque ya entiendes lo que pasa por debajo, yo también hice mi memory allocator yo en vez de usar una lista ligada, para optimizar hacer runtimes de log(n) implemente un heap el cual da prioridad a los bloques más grandes, el problema de esta implementación es que a la larga genera fragmentación jajaja, pero ya depende de lo que quieras mejorar si velocidad o capacidad.

  • @arclchmp6225
    @arclchmp6225 7 місяців тому +1

    He vuelto a ver el video... Esto es CINE (pero educativo).

  • @jorgehernanosoriomosquera5852
    @jorgehernanosoriomosquera5852 2 роки тому +4

    Eres un crack antonio, saludos desde Colombia. Mas videos de Rust 🔥🔥🔥🔥🔥

  • @sendut
    @sendut 2 роки тому +2

    El semestre que viene voy a cursar sistemas operativos. Este video me va a venir excelente 🤩

  • @yevtyurin134
    @yevtyurin134 2 роки тому +3

    Antonio: "... Y todo esto va cuadrando..." Yo: "Por supuesto..."

  • @crisnavas3340
    @crisnavas3340 2 роки тому +1

    Si googleáis libft_malloc (de la 42School) hay mazo ejemplos, y algún que otro pseudoartículo de cómo implementar un malloc() con nmap, por si queréis también ver más documentación de la ya mencionada en el vídeo.
    Me parece muy top que te dediques a hacer todo este contenido que, como bien dices, suele haber poca información e inglés
    Como siempre un grande, Antonio, ¡gracias! 😌🔝

  • @megagamerhd2406
    @megagamerhd2406 2 роки тому +1

    Estos son los videos que extrañaba de este canal

  • @felixurbina4
    @felixurbina4 2 роки тому

    Excelente, Antonio. Gracias por compartir.

  • @jibaru
    @jibaru 2 роки тому +3

    Algo interesante seria realizar una BD relacional, oracle tiene buena documentacion de su gestor, y en codigo esta mariadb. Es bastante interesante y podria ser una idea para un video. Por cierto, buen video!

  • @elhuaido1164
    @elhuaido1164 Рік тому +1

    18:50 el dia a dia de los programadores 🤣

  • @gilbertoasuaje9119
    @gilbertoasuaje9119 2 роки тому

    que crack, sube mas videos de este tipo o un curso de rust a master mind de rust

  • @franciscozapata7683
    @franciscozapata7683 2 роки тому

    Ya era hora que volvieras a lo que te dió reconocimiento en UA-cam!! Que bien!

  • @lautarochaparro1332
    @lautarochaparro1332 2 роки тому +1

    nuevo video vamosssssssssss!!! Gracias antonio

  • @rlfreddy6726
    @rlfreddy6726 2 роки тому +1

    Buen vídeo crack!

  • @aquileshuerta6154
    @aquileshuerta6154 2 роки тому +1

    Broo que sistema operativo usas y que editor usas visual estudio

  • @pablomartinmoreno5142
    @pablomartinmoreno5142 2 роки тому

    Consulta, estoy aprendiendo Rust, es mi tercer lenguaje de programación y la idea es usarlo para blockchain (no para dapps, sino para el protocolo en sí). El tema es que nunca tuve un primer trabajo como programador. ¿Que tan viable es que el primer trabajo de uno ocurra en blockchain? La mayoría suele decir que empiece por web y que luego me mueva a otro lado.

  • @nicolasaguilerapy
    @nicolasaguilerapy 2 роки тому +2

    "Que no se que hace pero lo copie por ahi de internet" mi vida laboral explicada en una frase

  • @hugoandres5480
    @hugoandres5480 Рік тому

    Hola una pregunta yo vengo de cpp y js pero se me complica aprender otro lenguaje de programación,podrías darme algún consejo para aprender otros lenguajes? Porfavor, gracias increíble canal

  • @santosmarte
    @santosmarte 2 роки тому +1

    Oye esta buenisimo el manejo de memoria de esto.

  •  2 роки тому +3

    El bajo nivel es muy interesante. Like.

  • @romeobetances7964
    @romeobetances7964 2 роки тому

    Haz un video sobre como los lenguajes manejan la memoria hoy en dia, con las tecnologias mas actuales, e incluso haz una comparativa. Estos temas son super interesantes.

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому

      Es lo que sale en la segunda parte del vídeo

  • @zhirozagiry
    @zhirozagiry 2 роки тому +1

    Wow! Ésto es muy de pelos!
    Yo apenas si llegué a hacer funcionar un DataTable 😅
    Excelente video ✨👌🏼

  • @UnexpectedTokenJs
    @UnexpectedTokenJs 5 місяців тому

    Excelente información.

  • @asudfgiasdf
    @asudfgiasdf 2 роки тому

    Que recursos utilizaste para aprender sobre uso de punteros?

  • @PieroRolando
    @PieroRolando 2 роки тому

    amo este tipo de videos

  • @yrvinescorihuela6689
    @yrvinescorihuela6689 2 роки тому +2

    Qué tema usas para VSCode?

    • @Omar-tk5mx
      @Omar-tk5mx 2 роки тому

      ua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.htmlua-cam.com/video/N17zVGfrTiQ/v-deo.html

  • @Gokling
    @Gokling 2 роки тому

    Muy buen proyecto y buen video

  • @zeusjean
    @zeusjean Рік тому

    OMG mastermind, me voy a apuntar seguro :)

  • @sadelax
    @sadelax Рік тому

    4tomic eres tú?? LOOOOL aprendí javascript con un crud q enseñabas xd

  • @VictorRodriguez-pu1ph
    @VictorRodriguez-pu1ph 2 роки тому

    Todavía tienes Arch con xmonad?

  • @DraketRomero
    @DraketRomero 11 місяців тому

    ¿Que fuente usas? xd

  • @NhesttaLYT
    @NhesttaLYT Рік тому

    Hola Antonio! Probablemente no vas a responder este comentario pero igual quisiera preguntarte. Recomendas 100% aprender Rust? Estoy en 2do de Ingeniería en Informática y hasta ahora solo dimos Python y este próximo cuatrimestre Java para POO. Me gustaría dedicarme al Backend y tener más un acercamiento al bajo nivel, para poder tener más conocimientos y mejorar como Ingeniero en cuanto a la eficiencia del código, mejor optimización y manejo de memorias, etc.
    Gracias saludos.

    • @AntonioSarosi
      @AntonioSarosi  Рік тому +1

      Escribí un hilo en Twitter sobre eso
      twitter.com/antoniosarosi/status/1619442828928757760?t=QfXOtp0Qc9vZD3f4M3Qz2A&s=19

    • @NhesttaLYT
      @NhesttaLYT Рік тому

      @@AntonioSarosi Espectacular, muchisimas gracias!

  • @danielalvarezconde4790
    @danielalvarezconde4790 2 роки тому

    Muy bueno.

  • @jaimeclares8238
    @jaimeclares8238 2 роки тому +1

    Sube un vídeo de tu opinión de la carrera!!!!!!

  • @carlosrivera3910
    @carlosrivera3910 2 роки тому

    que tema de vs code usas? :'v

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому +1

      ua-cam.com/video/N17zVGfrTiQ/v-deo.html

  • @fernandososacaleron7569
    @fernandososacaleron7569 2 роки тому +3

    Que tal en ensamblador? Funcionaria en cualquier máquina, o me equivoco?

    • @alecksandrborovkov7602
      @alecksandrborovkov7602 2 роки тому +1

      Yo lo hice en un ensamblador de alto nivel, linux assembly, nomas que eso si no es tan sencillo jajaja pero esta cool si quieres entender el como un proceso manipula realmente la memoria, después de esa experiencia valoro mucho los lenguajes de alto nivel JAJA

    • @fernandososacaleron7569
      @fernandososacaleron7569 2 роки тому

      @@alecksandrborovkov7602 tengo entendido que el ensamblador es casi lenguaje máquina y todas funcionan igual, es un lenguaje de bajo nivel, muy complicado. Punteros, mov, etc. Por eso diseñaron un lenguaje más humano como el basic, luego FORTRAN (formula translator) el bobol ( COBOL era un lío, tenías que enamorar a la máquina para que funcionará 😂) y el Pascal, luego el Turbo Pascal, C, C+, C++, y nos fuimos a la perdición cuando se empezó el Machine Learning. Un verdadero peligro, no tiene directrices, Dónde quedaron las 3 leyes de Assimov?
      Checar la colisión de un auto con IA de ELON MUSK. Hay que poner orden Ya.
      Bueno me cayo

  • @migueljurado6783
    @migueljurado6783 2 роки тому

    Crack!

  • @joelg4dea
    @joelg4dea 2 роки тому +2

    Conclusión: todo está bugeao.
    Se han hecho amenos los ¿¿36 minutos??, pues si ha estado bueno el video.

  • @joseantoniogallegos
    @joseantoniogallegos 2 роки тому

    Interesante, tengo que estudiar programación pero ya !!

  • @valentinoanci393
    @valentinoanci393 Рік тому

    Me gustan los videos asi

  • @Omar-tk5mx
    @Omar-tk5mx Рік тому

    próximo video: *programo mi propio kernel en rust desde 0*

  • @williamandresrodriguezborj7263
    @williamandresrodriguezborj7263 2 роки тому

    Visto el video y suscrito muy bueno. Creo todo el código quedo unsafe de rust. Sería interesante pasarlo a modo safe jeje pero ya el solo hecho de hacer un malloc merece esos likes y aplausos de mi parte..

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому +1

      No creo que se pueda hacer safe, todo está basado en aritmética de punteros. El propio trait de Allocator está marcado como unsafe.

    • @williamandresrodriguezborj7263
      @williamandresrodriguezborj7263 2 роки тому

      @@AntonioSarosi si es cierto, Te hiciste tremendo repo tú solo? Si vas a hacer proyectos así y quieres una mano amiga para C/C++ o Rust acá estoy también estoy igual de "loco" de querer hacer cosas de low level.

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому

      Sí ese proyecto lo hice solo. Después de terminar el vídeo implementé muchas más cosas como memory alignment y reallocs. Me entretienen bastante este tipo de proyectos jaja

  • @myrdddin
    @myrdddin 2 роки тому +2

    Te atreves a hacer lo mismo pero con brainfuck? Reto ezzz

  • @aluissp
    @aluissp 2 роки тому +1

    Ostia :o

  • @cdavidd
    @cdavidd 2 роки тому

    Estas fumao, pero que nivel el de san antonio sarosi

  • @v1ntee
    @v1ntee 2 роки тому

    El loco de nmap y ahora el loco de mmap

  • @digitalfreddy
    @digitalfreddy Рік тому

    Estaba viendo el vídeo y en mi cabeza repetía: ¿Pero para qué hace eso, si cualquier lenguaje tiene algún método de reserva de memoria? menos mal que al final dices que es por que quieres hacer el tuyo propio. En otro orden de cosas; no tengo ni idea de rust, sé un poquito de c, tu conocimiento es muchas magnitudes superior al mío pero creo que lo que dices al principio de que el heap y el stack son en tiempo de compilación no es así ¿O estoy bugueado? Otra cosa, supongo que conoces valgrind, cuando yo hacía reservas de memoria me salvó la vida muchas veces, supongo que se podrá con rust. Saludos.

  • @andreij2589
    @andreij2589 2 роки тому +1

    : D esoooo

  • @quetzihack5380
    @quetzihack5380 Рік тому

    Yo pensando en la optimización de la memoria en los PICS XD

  • @anonimus2990
    @anonimus2990 2 роки тому +2

    No entendí absolutamente nada pero buen video 🤙

  • @jonathanperez2603
    @jonathanperez2603 2 роки тому

    Conclusion Antonio: Todo esta bug.

  • @sebastianrubiovalero3614
    @sebastianrubiovalero3614 2 роки тому

    Puedes llegar tener problemas de fragmentación interna

  • @wz_alex9798
    @wz_alex9798 Рік тому

    Cuando y como Antonio paso de programador común a ingeniero de software ??
    Plot twist : siempre fue ingeniero :'v

  • @hbiblia
    @hbiblia 2 роки тому

    como un buen programador 🤣

  • @emilianorivasmx
    @emilianorivasmx 2 роки тому +2

    Tendré que abandonar el vídeo porque no le entendí ni al título JAJAJA.

  • @arclchmp6225
    @arclchmp6225 Рік тому

    He visto este video mas de 30 veces...

  • @jcsp23
    @jcsp23 2 роки тому

    un Garbage Collector para c++

  • @thecrazyboys3574
    @thecrazyboys3574 2 роки тому +1

    antonio, prestame dinero para poder ver tus cursos XD

  • @EzequielRegaldo
    @EzequielRegaldo Рік тому

    Una especie de Kafka jaja guarda todos los mensajes uno al lado de otro. Zig me gusta más para estas cosas

  • @jaime7295
    @jaime7295 2 роки тому +2

    No hay huevos a implementar tu propio sistema operativo

  • @Aarch_64
    @Aarch_64 2 роки тому

    Me gusta la idea de hacer cosas a bajo nivel, pera bájate de esa nube tío. Mejor programa en C, rust es una kk, C es más fácil en bajo nivel que rust

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому +1

      Usa Rust en algo más allá de un hola mundo y luego me cuentas si es una nube jajaja. No es el mejor lenguaje del mundo porque no hay nada perfecto, pero decir que es una caca está muy lejos de la realidad.

    • @Aarch_64
      @Aarch_64 2 роки тому

      @@AntonioSarosi no digo que sea fácil, solo que C es mejor en ese tipo de proyectos

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому

      No tiene que ver con si es fácil o difícil. Rust se ha diseñado para resolver problemas que tiene C, y lo notas al usarlo. Incluso si no tuviese el borrow checker y demás comprobaciones en tiempo de compilación seguiría usando Rust si me das a elegir antes que C, simplemente porque es un lenguaje moderno y no tengo que hacer malabares si necesito tipos de datos genéricos o iteradores. Zig por ejemplo ha adoptado esa estrategia, es básicamente un C moderno, y desde luego lo usaría si me das a elegir antes que C. Si hay que crear un proyecto nuevo serio a día de hoy no vas a usar C, no tiene sentido contando con lenguajes modernos. C se sigue usando para mantener todo lo que se ha desarrollado hasta ahora, pero lo nuevo no estará hecho en C.

  • @bullethraar4341
    @bullethraar4341 Рік тому

    te cambio la voz xd