• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    JANFROG
    JANFROG --- ---
    ANT_39: Plus takove veci, ze pristup do alloca() pameti po pouziti longjmp() je UB (pokud se dobre pamatuji) a podobne legracky...
    ANT_39
    ANT_39 --- ---
    XCHAOS: S alloca a VLA je problem, ze pro prilis velky alokace se muzes snadno dostat mimo stack. Tusim v glibc a elfutils jsem normalne videl kod ve stylu if (x > a lot) malloc(x) else alloca(x) (a odpovidajici tomu free nebo nic). V linuxovym kernelu se dela na nahrade vsech pripadu alloca a VLA za alkoace na halde, mimo jine protoze ten stack overrun je potencialni bezpecnostni riziko.
    XCHAOS
    XCHAOS --- ---
    popravdě, jestli ještě budu někdy cokoliv dělat se stringama v C, tak uvažuju o tomto:
    Advantages of Alloca (The GNU C Library)
    https://www.gnu.org/software/libc/manual/html_node/Advantages-of-Alloca.html
    XCHAOS
    XCHAOS --- ---
    XCHAOS
    XCHAOS --- ---
    JANFROG: já jsem na ty nový trendy v programování už nějak moc starej. za chvíli si bude muset obchodovat s opcema na procesorovej čas v cloudu :-) (na druhou stranu: třeba to konečně bude pravej moment na ty moje mikro-optimalizace :-)
    JANFROG
    JANFROG --- ---
    ALMAD: Neznal jsem, diky!
    XCHAOS: Vo vypada, ze zpatky dostanes promisu.
    XCHAOS
    XCHAOS --- ---
    ALMAD: Sice základní princip, že to mají v paměti, se mi líbí.. tohle ale zní trochu podezřele: Time-traveling RPC: Cap’n Proto features an RPC system that implements time travel such that call results are returned to the client before the request even arrives at the server!
    :-)
    ALMAD
    ALMAD --- ---
    JANFROG: Mě se v tomhle líbí https://capnproto.org/
    XCHAOS
    XCHAOS --- ---
    REDGUY: tenhle kód...
    #include "sqlite3-1.c"
    #include "sqlite3-2.c"
    #include "sqlite3-3.c"
    #include "sqlite3-4.c"
    #include "sqlite3-5.c"
    #include "sqlite3-6.c"
    #include "sqlite3-7.c"
    ....mi popravdě připomíná jeden můj header file :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: Jo, jasne, otravovat ostatni, at za tebe udelaji neco, co bys mohl udelat sam. Pozoruhodnej pristup 8)
    XCHAOS
    XCHAOS --- ---
    REDGUY: jedna taková služba se jmenuje NYX :-)
    XCHAOS
    XCHAOS --- ---
    JANFROG: tak mě šlo o to, jaké struktury v té sdílené paměti mít, že jo :-) asi nějaké zámky, aby do toho mohlo i více vláken zapisovat paralelně... nevím, jak to přesně dělá ten Redis. život mi skutečně naučil, že znovuvynalézání kola bývá pracné...
    JANFROG
    JANFROG --- ---
    XCHAOS: já vždy uvažoval o struktuře, ke které by se přistupovalo přímo přes mmap a sdílenou paměť..

    podobne to delaji uz mnoho let stare dobre mainframes s COBOLem. Vymenuji si data premapovanim z stranek jednoho "procesu" do "druheho"...
    REDGUY
    REDGUY --- ---
    XCHAOS: Kez by tak existovala nejaka webova sluzba, ktera by umoznovala najit priklady pouziti ruznych knihoven 8))
    XCHAOS
    XCHAOS --- ---
    GIOMIKY: no a tys to někdy použil? nalinkuješ nějaký příklad?
    XCHAOS
    XCHAOS --- ---
    GIOMIKY: protože jsem se o ní doslechl, a zaujala mi, ale zatím jen velmi obecně :-)

    pro začátek, já vždy uvažoval o struktuře, ke které by se přistupovalo přímo přes mmap a sdílenou paměť.. posílat někam nějaké AP příkazy přes socket se mi nechce...
    XCHAOS
    XCHAOS --- ---
    GIOMIKY: musím se někdy podívat :)
    XCHAOS
    XCHAOS --- ---
    zajímavý, jedna věc napsaná v čistém C. budu si asi muset nastudovat... o řadě těchto věcí jsem přemýšlel...
    Introduction to Redis – Redis
    https://redis.io/topics/introduction
    XCHAOS
    XCHAOS --- ---
    UETOYO
    UETOYO --- ---
    XCHAOS: Dokonce jak Rust může nahradit Python :) -- viz třeba Dropbox. Rust je docela čitelný i z perspektivy Python vývojáře... dokonce infrastruktura je mnohem vymakanější -- viz např hrozný `pip` a instalace/odinstalace závislostí (i když na tom se teď pracuje -- hledej PipFile). Dík za odkaz.
    Kliknutím sem můžete změnit nastavení reklam