Solod proiektuak Go lengoaiaren azpimultzo bat garatzen du, C lengoaiara itzulia dena.

Solod (So) programazio-lengoaia aurkezten da. Go lengoaiaren azpimultzo bat eskaintzen du, C (C11) errepresentazio batean transkonpilatua, GCC, Clang eta zig cc konpiladoreekin konpilatzeko egokia. Solod, Go eta Tinygo arteko funtsezko desberdintasuna memoria-kudeaketa manuala erabiltzea da, zabor-biltzailerik, memoria-esleipen automatikorik eta erreferentzia-zenbaketarik gabe funtzionatzen duena. Solod-erako transpilatzailea Go-n idatzita dago eta BSD lizentziapean banatzen da. Onartzen du Linux, macOS ΠΈ Windows.

Hizkuntzak egiturak, metodoak, interfazeak, zatiak, balio anitz itzultzen dituzten funtzioak (adibidez, emaitza + errore kodea), generikoak eta atzeratutako deiak (atzeratuak) onartzen ditu. Sinpletasunagatik, hizkuntzak ez ditu kanalak, korutinak edo itxierak onartzen. Bakarkako garapenak Go hizkuntza onartzen duten LSP zerbitzariak, linterrak, garapen ingurune integratuak eta kode editoreak erabil ditzake, baita "go test" tresna-katea ere.

Solod-en idatzitako kodea C aplikazioekin integra daiteke (C-k Solod funtzioak dei ditzake eta alderantziz) eta ez du exekuzio-denborarik behar. Aplikazio-eremu nagusien artean, sistemen programazioa dago, C-ren antzeko gaitasunekin, baina Go estiloko sintaxi eta mota-egiaztapenarekin. Solod Go liburutegiak C proiektuetan erabiltzeko portatzeko ere erabil daiteke. Go paketeak, hala nola strings, io, bytes, mem, slices eta beste batzuk C-ra portatu dira. Portatutako Go liburutegien multzoaz gain, Solod programek C liburutegi estandarraren, libc-ren, loturak erabil ditzakete.

Berez, memoria guztia pilan esleitzen da, baina heap esleipena posible da liburutegi estandarraren Alloc / Free funtzioak erabiliz. Zabor bilketa eta erreferentzia zenbaketa ez dira erabiltzen, baina Solod-ek mota egiaztatzeko eta array batera mugak gainditzean kraskatzen diren funtzioak eskaintzen ditu. Erakusle zintzilikarioen itzulerak eta memoriaren askapen okerrak ez dira egiaztatzen. AddressSanitizer (-fsanitize=address) erabiltzea konpiladore modernoetan aipatzen da memoria arazoak detektatzeko metodo nagusi gisa.

Errendimenduari dagokionez, Solod-en idatzitako programa konpilatuak Go programak baino azkarragoak dira, oro har. Adibidez, Byte paketeko funtzioek 1.5 aldiz azkarrago funtzionatzen dute memoria-kontsumo berdinarekin. Byte buffer eragiketak 1.3 aldiz azkarragoak dira irakurtzeko eta 2-4 aldiz azkarragoak idazteko. Map paketean, zenbaki osoko gakoen berreskurapena 3.4 aldiz azkarragoa da, baina gakoen aldaketa 1.6 aldiz motelagoa da. Kate gakoen berreskurapena Go-ren parekoa da, baina aldaketa 1.5 aldiz motelagoa da. Zenbaki osoen azterketa eta formatua 2 aldiz azkarragoa da, eta puntu mugikorreko azterketa 1,5/1.2 aldiz azkarragoa da. Kate funtzioak 1.3 aldiz azkarragoak dira, eta kateen sorrera 2-4 aldiz azkarragoa da, memoria-kontsumoa % 10-20 murriztuz.

Iturria: opennet.ru

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak πŸ”₯ Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster