Diskuze: Machr na C# .NET - Binární sčítačka
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 50 zpráv z 129.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
U 8bitu se moc optimalizaci vymyslet neda, nechces to rozsirit na cela unsigned cisla?
Dobře, změna zadání, číslo má 32 číslic.
A jak to je teda s tim jazykem, C# je doporuceny nebo povinny jazyk? 
Co je SSE4 nevím
C# je
povinný, jinak by ta soutěž moc neměla smysl, vyhrál by to program v ASM

SSE4 je instrukcni sada, umi to novejsi procesory, tam se da tohle resit
jednou instrukci 
Ok, prave s asm by to bylo nefer - viz ta jedna instrukce 
Můžu se zúčastnit tento týden obou?
Tak na radu Satika ještě jedna změna, generování se nepočítá do měřeného času, jde tedy jen o algoritmus součtu cifer tak, aby to bylo co nejrychleji.
Mám výsledky ukládat nebo stačí jedna promněná, kterou vždy vypíši a pak vynuluji?
Nemusíš ji ani vypisovat, ale musí se provést přiřazení výsledku do proměnné. Pak se může zapomenout.
Nemáte někdo nějaký orientační výsledek? A v čem to mám měřit? Asi
v uplynulých ticích. V milisekundách je to hodně málo. Možná by to
chtělo zvětšit počet čísel 
Ono tam bylo předtím i to generování, tak jsem dal jen 100.000. Pro jaký počet by to dávalo lepší výsledek?
U milionu mam kolem 7 milisekund, tak treba 10m?
To je dobrá otázka
Co
myslíš Luboš Běhounek Satik?
Dal bych release 
I kdyz ono v C# mezi nimi neni takovy rozdil jako treba v C++ a vetsinou jsou ty casy (skoro) stejne.
Má už někdo nějaký výsledek(čas)?
Sakra
To mozna bude
tim. Intel Core i5 3210m
EDIT: Ale koukám, že ty taky nemáš nic starého. Podle benchmarků je to docela vyrovnané. Jednou vítězí i5, jindy 2 Quad
no tohot se asi nakonec nezúčastním
1.) sloník v PHP
2.) škola - mám za du udělat obrázky do animáku.
Já nevim, asi neumím vytvořit účinný algoritmus. Mně to 1M dělá 529ms.
Posli kod, podivame se 
Ono existuje par triku, jak tohle resit jinak, nez dlouhym cyklem.
A take muzes vyuzit vice jader procesoru 
Hm, kdyz pustim ten exac mimo visual studio, tak to ma 10M cisel za 10 ms,
zatimco ve VS 40 ms :/
(oboji v releasu)
Aha, takže jsi diskvalifikoval ty 100jádrové Atomy, které ještě
neexistují 
No je pravda, že když to budeme testovat na 1 stroji, není vlastně důvod aby to nejelo na více jádrech.
Na Pentiu E6300 sem se dostal na 32ms 
Ono to sice pojede na vícejádrovém procesoru, ale jen v jednom jádře. Takže Atom má se svým slabším výkonem v takových testech smůlu.
Změna zadání, povolil jsem vícevláknovou aplikaci 
Poslat buď mě do soukromých zpráv nebo v neděli před třetí sem do vlákna.
Dík moc za odpověď. Teď si alespoň budu moct odhadnout finální čas.
Na tak krátkých časech to v některých případech může znamenat i
časovou ztrátu. Hodně záleží na tom, jak se to do těch vláken rozdělí.
Někdy je skutečně výhodnější to nechat v jednom 
vsak nemusis mit vlakna pro kazde cislo, ale treba jen pro pulku
vygenerovanych cisel 
Zajímavé, zkusil jsem si to v C i v Javě. C bylo jen o 16 % rychlejší.
To je zajímavé. Mohl bych z výsledků poté udělat článek.
posli na ukazku kod, je mozne, ze by se to dalo v c nejak optimalizovat
Není to přesně podle zadání (soutěže se neúčastním) a ani to není nijak optimalizováno:
#include <stdio.h>
void main() {
int i, j;
int soucet = 0;
for (i = 0; i < 10000000; i++) {
for (j = i; j != 0; j >>= 1) {
soucet += j%2 ;
}
}
printf("%8d\n", soucet);
}
Zobrazeno 50 zpráv z 129.
