- Android szakmai topik
- Milyen okostelefont vegyek?
- iPhone topik
- Apple Watch
- A hagyományos (nem okos-) telefonok jelene és jövője
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Android alkalmazások - szoftver kibeszélő topik
-
Mobilarena
Új hozzászólás Aktív témák
-
válasz
beleszólok #8418 üzenetére
Teljesen overengineeringnek hangzik (foleg, hogy lathatoan azert _annyira_ nem vagy meg tapasztalt fejleszto), de ha ez kell, akkor par lehetoseg:
- http://zeromq.org/ --> ez nagyon gyors platform- es nyelvfuggetlen MQ implementacio
- a feldolgozo-resz siman egy webservice-en keresztul kommunikal -
válasz
beleszólok #8416 üzenetére
Rosszul emlekszel az IPC-re.
Ha helyben akarod csinalni, akkor ne IPC-zz, marhasag. Csinalj egy library-t, ami feldolgoz, es csinalj egy UI-t, ami a libet hasznalja; tok feleslegesnek tunik ket processzbe rakni.
-
válasz
beleszólok #8414 üzenetére
100 MB az nagyobb adatmennyiseg? WTF?
A logfaljos kerdesed tulsagosan altalanos. Csak helyben szeretned elvalasztani a feldolgozast a megjelenitestol? Vagy kulon gepen futna a parszer es az UI?
-
válasz
beleszólok #8412 üzenetére
A posix mq az gepen beluli kommunikaciora valo. Kepzeld el ugy, mint egy named pipe egy csomo extra szolgaltatassal.
-
McSzaby
őstag
válasz
beleszólok #8405 üzenetére
pffff... király vagy, ez így király lesz, nagyon szépen köszönöm!
-
McSzaby
őstag
válasz
beleszólok #8403 üzenetére
Nagyon rendes vagy, köszönöm!
-
Jim-Y
veterán
válasz
beleszólok #8398 üzenetére
Szerintem ez nem gáz, ez csak simán így van: [link]
-
PumpkinSeed
addikt
válasz
beleszólok #8392 üzenetére
Akkor jó.
(#8393) martonx
A Tour of Go-val kezdtem nem tudom mi tudná jobban elmagyarázni a nyelv alapjait mint a nyelv saját oktató oldala.
"Egy adott nyelven megtanulni programozni" - mellette folyamatosan hallgatom az egyetemi anyagot.(#8394) Jim-Y
Voltam pár helyi IT konferencián amire szabad bejárása volt bárkinek, voltak elődadások a modern webfejlesztési technikákról, és a jövő ilyesfajta technikáiról és mindenhol a Go-t taglalták mint a webfejlesztés új dimenzióját backend területen. Illetve egyik ismerősöm jelentkezett egy londoni céghez munkára webfejlesztőnek ahol közölték, hogy a jelenlegi PHP alatt futó rendszerüket Go alapokra akarják helyezni. -
Jester01
veterán
válasz
beleszólok #8372 üzenetére
A for ciklusos változat nálam gyorsabb mint a python.
-
amargo
addikt
válasz
beleszólok #8368 üzenetére
ez elkerülte a figyelmem, hogy linux alatt akarod használni, felejtsd el. Miért nem jó a python-os megoldás?
-
amargo
addikt
válasz
beleszólok #8366 üzenetére
Amit Te szeretnél a .net nél úgy hívják, hogy powershell érdemes lenne átírnod rá. A hiányolt funkcióból is egyből feltűnt, hogy nem egy monolitikus eszközre van szükséged.
-
Jester01
veterán
válasz
beleszólok #8364 üzenetére
Igen, a hibát akkor kapod ha nem választod ki a project options->general->c#->main class segítségével, hogy melyiket is akarod használni. Ez egyébként visual studioban is így van: To resolve this error, you can either delete all Main methods in your code, except one, or you can use the /main compiler option to specify which Main method you want to use.
Mondjuk továbbra sem látom ennek mi értelme van. Ha különböző programokat akarsz csinálni akkor tedd őket külön projektbe.
-
Alexios
veterán
válasz
beleszólok #8360 üzenetére
solution-ben végtelen projekted lehet, és projektenként lehet main metódusod.
-
Jester01
veterán
válasz
beleszólok #8355 üzenetére
Az IndexOf vagy a for ciklus? Mert az előbbi nekem is lassabb mint a python.
Monodeveloppal mi bajod? -
sztanozs
veterán
válasz
beleszólok #8357 üzenetére
A core runtime nem tűnik szerver-oldal only-nak, de majd utánanézek...
-
sztanozs
veterán
válasz
beleszólok #8355 üzenetére
-
Jester01
veterán
válasz
beleszólok #8351 üzenetére
linux+mono persze (a pingvinből azért lehetett sejteni
)
Egy szálon a mono így "csak" kétszer lassabb, többszálúsítva utoléri.Hehe, az IndexOf-nál sokkal gyorsabb ha simán ciklusban végignézzük:
for(int pos = 0; pos < got; pos += 1)
{
if (buf[pos] == 10) n += 1;
}Ez már egy szálon is ráver a pythonra így.
-
Jester01
veterán
válasz
beleszólok #8349 üzenetére
A háttérben zajló karakterkészlet konverzió és memóriaműveletek lassítják a dolgot, ezek elkerülhetők némi kézi mókolással:
public static void Main(string[] argv)
{
int n = 0;
byte[] buf = new byte[4096];
using (Stream s = File.OpenRead("kern.log"))
{
int got;
while ((got = s.Read(buf, 0, buf.Length)) > 0)
{
int pos = 0;
while (pos < got && (pos = Array.IndexOf(buf, (byte)10, pos)) >= 0)
{
n += 1;
pos += 1;
}
}
}
Console.WriteLine (n);
}Ez nálam nagyjából fele olyan gyors mint a python változat.
Többszálúsítva sikerül beérni sebességben. -
beleszólok
senior tag
válasz
beleszólok #8348 üzenetére
Közben kipróbáltam, hogy a linuxon fordított .exe-t átvittem windows-ra a loggal együtt. Ott már csak 8mp.
-
Peter Kiss
őstag
válasz
beleszólok #8346 üzenetére
Hasonló fájllal 6-7 másodpercet tudok kihozni belőle, ami figyelembe véve a magasabb absztrakciót egyáltalán nem rossz.
-
Peter Kiss
őstag
válasz
beleszólok #8312 üzenetére
Python unicode-ot olvas alapból?
A .NET verziót hányszor futtattad? (Első alkalommal még fordul a kód [üres fájlt be kell küldeni először].)
Mivel mérted az időket? -
sztanozs
veterán
válasz
beleszólok #8342 üzenetére
Írhatsz esetleg a pull request-be is egy hosszú kommentet is - ha azt nem olvassa el, akkor hiába is akarod keresni
-
Sk8erPeter
nagyúr
válasz
beleszólok #8339 üzenetére
Egy - nem túl atombiztos - lehetőség van, mégpedig az, hogy checkoutolod a repository-ját, és a commit logokban a szerzőnél/commitolónál megnézed az e-mail-címét a felhasználóneve mellett.
Ez persze simán lehet nemlétező is (ha ilyet adott meg), vagy olyan, amit ritkán vagy szinte egyáltalán nem használ, de esélyes az is, hogy pont az az e-mail-cím lesz itt megtalálható, amire neked szükséged van. Egy próbát mindenképpen megér.(#8340) Jim-Y:
"Ha rámész a user nevére/profiljára, ott megtalálod az email címét"
Ez csak akkor igaz, ha a felhasználó a https://github.com/settings/profile oldalon kitöltötte az "Email (will be public)" mezőt. Egyébként nem látszik az e-mail-cím, és ez a gyakoribb, hogy ezt a mezőt nem töltik ki. -
Jim-Y
veterán
válasz
beleszólok #8339 üzenetére
Ha rámész a user nevére/profiljára, ott megtalálod az email címét. Vagy még sokszor van ilyen, hogy CONTRIBUTING.md, ott is találhatsz még contactot, esetleg ha van WIKI page-e a reponak ott is érdemes szétnézni.
A PR (pull request) azt jelenti, hogy ha átírsz valamit a forrásban, akkor egy PR készül, amit az eredeti gazda elfogadhat, mergelhet a kódba, így a változtatásod élesben is elérhető lesz mindenki számára, ha elfogadják.
Ez utóbbit jobban is le lehet írni, többféle képp is csinálhatod, amire most nem térek ki, a lényege úgyis mindnek ez.
-
beleszólok
senior tag
válasz
beleszólok #8338 üzenetére
Nincs.
Nem én vagyok az oka, hogy nem találtam: volt lehetőség privát üzeneteket küldeni, de megszüntették.
E-mail meg csak az látszik, amit a user külön megad, amivel regisztrált, az nem jelenik meg sehol. -
sztanozs
veterán
válasz
beleszólok #8320 üzenetére
Debug üzemmódban teszteled a c#-ot sebességre, vagy Release-ben?
-
martonx
veterán
válasz
beleszólok #8323 üzenetére
Hát, ez esetben nagyon gáz a C# 22mp-es olvasás ideje.
-
martonx
veterán
válasz
beleszólok #8320 üzenetére
Egyébként nekem gyanús, hogy vagy a Python csal (mondjuk a fordító figyeli, hogy csinálsz-e bármit a beolvasott adattal, és ha nem akkor valahogy eleve csak végigpörgeti a file-t, érdemi beolvasás helyett), vagy a C# mono-val nagyon nincs optimalizálva. Vagy mindkettő. Elvileg közel nulla különbségnek kellene lennie pusztán a file megnyitásakor, végigpörgetésekor a két nyelv között.
Nekem egyébként kicsit gyanús, hogy a Python az 1.6Gb-os file-t 3.6 másodperc alatt nyálazza végig, ez kicsit mintha túl kevés lenne.
-
martonx
veterán
válasz
beleszólok #8316 üzenetére
ha már próblgatunk, akkor ezt próbáld még ki C#-al, a komplett using-os rész helyett:
foreach (var line in File.ReadLines("kern.log"))
{
n++;
}Így legalább már pont olyan szép, mint python-nal
És amikor ezzel megvagy, akkor javaslom még a foreach helyett a parallel.foreach-et kipróbálni. Erre gondoltam eredetileg, amikor mondtam, hogy C#-al nagyon egyszerű több processzor magot kihasználni.
Én anno C#-al (mondjuk nem mono-val, hanem rendes C#-al windows-on) 40Gb-os XML-eket parsoltam, és dolgoztam fel, töltöttem db-be pár órás futásidővel (igaziból a db-be töltés volt a szűk keresztmetszet, pontosabban a db mögötti storage, mivel a DB szerver 96 magos, alig terhelt gép volt).
-
Oppenheimer
nagyúr
válasz
beleszólok #8316 üzenetére
és ha a while ciklusban nem adnál értéket egy stringnek?
-
Sk8erPeter
nagyúr
válasz
beleszólok #8314 üzenetére
Mondjuk ha a "blog-jellegű panasz" valamilyen kódot is tartalmazna, hogy miként is működtél, akkor lehet, hogy lehetne rá érdemben is reagálni, és esetleg jobb módszert mutatni.
Amivel a panasz esetleg enyhíthető.
Vagy nem, de ez eddig még nem derült ki. -
Karma
félisten
válasz
beleszólok #8312 üzenetére
Ennyi információval nem sokat lehet mondani rá
Az ördög valószínűleg a részletekben van, és ki lehetne mérni, mégis hol veszik el ennyi idő.
-
martonx
veterán
válasz
beleszólok #8304 üzenetére
Szerintem kevered a namespace-t és a workspace-t.
-
martonx
veterán
válasz
beleszólok #8299 üzenetére
Én Visual Studio-t használok, ott nem tapasztaltam ilyen problémát. Ebben nem tudok tanácsot adni.
-
Karma
félisten
válasz
beleszólok #8299 üzenetére
Az lehet a kiváltó ok, hogy tévesen vontál le egy következtetést pár hozzászólással ezelőtt: a solution nem a projekt megfelelője más környezetekből.
Visual Studioban (és itt is) a projekt a legkisebb fordítható egység, aminek a kimenete projekttípustól függően egy DLL, futtatható fájl, csomag, stb. Vagy más szóval egy modul, Pythonban meg kb. a package felel meg ennek, csak komplexebb.
A solution ilyen projekteket fog össze, és lehetővé teszi a kereszthivatkozásokat közöttük. Ezt meg máshol workspace-nek szokták hívni.
A regexes példádnál nem a solution, hanem a C# projekt hiányzott - enélkül nem tudja az IDE, melyek framework verziót húzza be és mi a kimenet, inkább nem is csinált semmit.
Azt viszont nem tudom, miért nincsenek nevek a tabokon. Xamarin Studio alatt még nem volt ilyen bugom.
-
j0k3r!
őstag
válasz
beleszólok #8299 üzenetére
Nem ismerem MonoDevelop-ot, de Visual Studio is ugyanezt csinálja a File -> New Project-nél. A felső mappa a Solution-nek, az alatta levő pedig a Project-nek van létrehozva. (habár Visual Studio-ban van egy checkbox erre, hogy "Create directory for solution")
-
martonx
veterán
válasz
beleszólok #8296 üzenetére
Tök jó, örülök! Jelzem a mono-ban egyre jobban bízhatsz, mivel a jövő év elején megjelenő C# 6-tal a Microsoft a mono-t is beemeli a hivatalosan támogatott futtató környezetek közé.
-
beleszólok
senior tag
válasz
beleszólok #8295 üzenetére
Na, egy hiba kilőve: ha létrehozok neki "project"-et (a fene gondolta, hogy a "solution" jelenti azt, amit máshol a project), akkor már megtalálja a monodevelop is a regexp könyvtárat.
És így megvan az a References is, amit korábban nem találtam, mivel nem hoztam létre ezt a solution-nek nevezett dolgot. -
martonx
veterán
válasz
beleszólok #8292 üzenetére
Ha nem ragaszkodsz a pythonhoz, mondjuk C#-ál bagatell egyszerű több szálú feldolgozót írnod. Akár Pythonból is meg tudod hívni szimpla konzol alkalmazásként.
-
sztanozs
veterán
válasz
beleszólok #8290 üzenetére
ha a sorok feldolgozása nem egy nagyságrenddel nagyobb feladat, mint a beolvasás, úgy szerintem nem érdemes külön szálban foglalkozni vele...
-
beleszólok
senior tag
válasz
beleszólok #8283 üzenetére
Nem kéne ennyire keverni a nyelveket...
while($infile)-t írtam while(<$infile>) helyett...
-
Oppenheimer
nagyúr
válasz
beleszólok #8280 üzenetére
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- LENOVO ThinkBook 13s - 13.3" FullHD IPS - i5-10210U - 8GB - 256GB SSD - Win11 - MAGYAR
- BESZÁMÍTÁS! Asus ROG Flow Z13 + ROG XG RTX 3070 - i9 12900H 16GB DDR5 RAM 1TB SSD + RTX 3070 8GB WIN
- Használt és ÚJ Gamer Monitor Felvásárlás Gyors és Korrekt Ügyintézés!
- AKCIÓ! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB GDDR6 Rampage Shiva Zalman 500W
- 0% THM részletfizetés, beszámítás! Gamer PC, notebook, konzol, Apple termék, hardver KAMATMENTESEN!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged