Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Coati 05. 11. 2021, 02:50:09

Název: Rust na Azure Functions
Přispěvatel: Coati 05. 11. 2021, 02:50:09
Jde nějak na Azure Functions použít Rust bez použití custom handlers (to je poněkud těžkopádné a v podstatě to není skutečně serverless)?
Název: Re:Rust na Azure Functions
Přispěvatel: oss 05. 11. 2021, 07:17:57
Cisty rust - pokial niekto nenapise bindingy na sluzby tak nie.

No v Rsute si mozes spravit DLL-ko/so kniznicu, nad ktorou si napisat C# Azure funkciu (len tenky wrapper) a prevolat Rustovsku kniznicu.
Název: Re:Rust na Azure Functions
Přispěvatel: Peter Tigranjan 05. 11. 2021, 11:38:02
Cisty rust - pokial niekto nenapise bindingy na sluzby tak nie.

No v Rsute si mozes spravit DLL-ko/so kniznicu, nad ktorou si napisat C# Azure funkciu (len tenky wrapper) a prevolat Rustovsku kniznicu.
Není to P/Invoke?
Název: Re:Rust na Azure Functions
Přispěvatel: oss 05. 11. 2021, 13:43:13
Ano je.
Název: Re:Rust na Azure Functions
Přispěvatel: Idris 05. 11. 2021, 14:32:40
Ano je.
.NET Core umí přilinkovat statickou knihovnu k dotnetí binárce, tím se obejde P/Invoke (používá se transparentně IJW přes ijwhost.dll). V .NET Framework se to jmenuje C++ Interop a překladač přemosťující kód generuje automaticky. Pro Rust to funguje bez problémů včetně nasazení na Azure Functions.
Název: Re:Rust na Azure Functions
Přispěvatel: oss 06. 11. 2021, 12:44:53
Tu je priamo ako sa to robi na rozsiahlejsich projektoch - https://www.youtube.com/watch?v=0B1U3fVCIX0 kazdopadne pri povahe nanosluzieb, to az tak nebude treba, pravdepodobne sa da vystacit s par nativnymi importami.
Název: Re:Rust na Azure Functions
Přispěvatel: Peter Tigranjan 06. 11. 2021, 16:24:43
Tu je priamo ako sa to robi na rozsiahlejsich projektoch - https://www.youtube.com/watch?v=0B1U3fVCIX0 kazdopadne pri povahe nanosluzieb, to az tak nebude treba, pravdepodobne sa da vystacit s par nativnymi importami.
Takto se to dělalo do .NET Core 3.0, od 3.1 se linkuje nativní statická knihovna přímo do dotnetího DLL.
Název: Re:Rust na Azure Functions
Přispěvatel: oss 07. 11. 2021, 10:28:05
Tu je priamo ako sa to robi na rozsiahlejsich projektoch - https://www.youtube.com/watch?v=0B1U3fVCIX0 kazdopadne pri povahe nanosluzieb, to az tak nebude treba, pravdepodobne sa da vystacit s par nativnymi importami.
Takto se to dělalo do .NET Core 3.0, od 3.1 se linkuje nativní statická knihovna přímo do dotnetího DLL.

To je pre mna novinka. Mozes mi o tom poslat nejaky zdroj, alebo example?
Název: Re:Rust na Azure Functions
Přispěvatel: Idris 09. 11. 2021, 00:02:54
To je pre mna novinka.
Je to z roku 2019. Release notes k .NET Core 3.1 je asi nejlepší zdroj informací k této tehdy nové funkcionalitě. Něco je pak na MS blogu C++ týmu.
Název: Re:Rust na Azure Functions
Přispěvatel: oss 09. 11. 2021, 08:19:11
Pytam sa pre to, lebo DllImport tu bol v komentaroch oznaceny za "legacy" postup (z videa), tak sa pytam ako sa to ma robit teraz.
Název: Re:Rust na Azure Functions
Přispěvatel: Idris 09. 11. 2021, 09:53:06
Pytam sa pre to, lebo DllImport tu bol v komentaroch oznaceny za "legacy" postup (z videa), tak sa pytam ako sa to ma robit teraz.
To není úplně “legacy”, ale je to pro dynamické knihovny, ostatně někdy má člověk jen DLL. Ale přibyla nová možnost přilinkovat statickou knihovnu, takže pokud mám k té nativní části zdrojáky, dá se místo P/Invoke použít efektivnější interop. Někdy na tom rozdílu v efektivitě moc nezáleží, pokud třeba ten nativní kód něco počítá několik sekund, tak mě asi nějaká ta mikrosekunda v interopu netrápí.