Между другото същия ефект съм го виждал и при джава :0 така че не е rust специфично. Даже не е LLVM специфично.
|
Последно редактирано на 13.12.2020 от |, видяно: 1785 пъти. #21638
Четириелементен масив и махане на —-1 решава всички проблеми.
code2
Създадено на 14.12.2020, видяно: 1758 пъти. #21652
Освен въпросния предикшън трябва да се отбележи, че още от времето на пентиумите изпълнението се разпаралелява в две интегрирани нишки където може. Точно if-овече е мястото, където не може да се разделя изпълнението на два вградени потока!
|
Създадено на 14.12.2020, видяно: 1732 пъти. #21682
Освен въпросния предикшън трябва да се отбележи, че още от времето на пентиумите изпълнението се разпаралелява в две интегрирани нишки където може. Точно if-овече е мястото, където не може да се разделя изпълнението на два вградени потока!
Сигурен ли си, че имаш идея за какво говориш? :)
janbird
Създадено на 14.12.2020, видяно: 1718 пъти. #21688
Освен въпросния предикшън трябва да се отбележи, че още от времето на пентиумите изпълнението се разпаралелява в две интегрирани нишки където може. Точно if-овече е мястото, където не може да се разделя изпълнението на два вградени потока!
Сигурен ли си, че имаш идея за какво говориш? :)
Общо взето е прав. Навярно най голямо значени за "разпепеляване" на изпълнението ще има премахването на "prev".
|
Създадено на 14.12.2020, видяно: 1714 пъти. #21689
Освен въпросния предикшън трябва да се отбележи, че още от времето на пентиумите изпълнението се разпаралелява в две интегрирани нишки където може. Точно if-овече е мястото, където не може да се разделя изпълнението на два вградени потока!
Сигурен ли си, че имаш идея за какво говориш? :)
Общо взето е прав. Навярно най голямо значени за "разпепеляване" на изпълнението ще има премахването на "prev".
За кое е прав, че има "две интегрирани нишки"? :)
janbird
Създадено на 14.12.2020, видяно: 1707 пъти. #21690
Нека не се хващаме за грешки в израза или терминологията. Идеята е ясна. По интересно е как да го разпишем така че да помегнем на компилатора да го "разпъне".
|
Създадено на 14.12.2020, видяно: 1702 пъти. #21691
Нека не се хващаме за грешки в израза или терминологията. Идеята е ясна. По интересно е как да го разпишем така че да помегнем на компилатора да го "разпъне".
Според мен много малко неща са по-малоумни от това да си променяш кода, че компилатора да го разбере по-добре.
janbird
Създадено на 14.12.2020, видяно: 1698 пъти. #21692
Според мен много малко неща са по-малоумни от това да си променяш кода, че компилатора да го разбере по-добре.
Любопитно, какви са другите по-малоуни неща. Сподели.
|
Създадено на 14.12.2020, видяно: 1693 пъти. #21693
Според мен много малко неща са по-малоумни от това да си променяш кода, че компилатора да го разбере по-добре.
Любопитно, какви са другите по-малоуни неща. Сподели.
Ами например да "оптимизираш" кода без да има значение производителността му.
По принцип от бизнез гледна точка и ако искаш да станеш хай левел менажер вероятно наистина няма време за такива глупости, но ако те кефи да програмираш, винаги искаш да го направиш по- добре и по- добре, което пък в някакъв процент води до обратното, зависи какви са ти приоритетите. Донякъде има право, но това е същината на гийкщината.
janbird
Създадено на 14.12.2020, видяно: 1669 пъти. #21699
По принцип от бизнез гледна точка и ако искаш да станеш хай левел менажер вероятно наистина няма време за такива глупости, но ако те кефи да програмираш, винаги искаш да го направиш по- добре и по- добре, което пък в някакъв процент води до обратното, зависи какви са ти приоритетите. Донякъде има право, но това е същината на гийкщината.
Мда точно от "бизнес" гледна точка се говори за оптимизиране само ако наистина има нужда от такава за "бизнеса".
|
Създадено на 14.12.2020, видяно: 1654 пъти. #21700
Щом относно даден код може да използва изразът "нужда от оптимизиране" то не означава ли това че наистина има нужда от такава?
Не.
|
Създадено на 14.12.2020, видяно: 1646 пъти. #21701
По принцип от бизнез гледна точка и ако искаш да станеш хай левел менажер вероятно наистина няма време за такива глупости, но ако те кефи да програмираш, винаги искаш да го направиш по- добре и по- добре, което пък в някакъв процент води до обратното, зависи какви са ти приоритетите. Донякъде има право, но това е същината на гийкщината.
Дори и да те "кефи" да програмираш, оптимизирането просто заради оптимизирането е малоумщина. Кодът се пише от хора за хора, а не от хора за компютри. Ако се пишеше за компютри щеше да изглежда съвсем различно. И, не, нямаше да е асемблер. Дори той се пише за хора. Доста странни хора, но все пак хора.
janbird
Създадено на 14.12.2020, видяно: 1640 пъти. #21702
Дори и да те "кефи" да програмираш, оптимизирането просто заради оптимизирането е малоумщина. Кодът се пише от хора за хора, а не от хора за компютри. ...
Това е твое мнение. На мен ми помага за еякулация, а това според мен е...
code2
Създадено на 14.12.2020, видяно: 1638 пъти. #21703
Освен въпросния предикшън трябва да се отбележи, че още от времето на пентиумите изпълнението се разпаралелява в две интегрирани нишки където може. Точно if-овече е мястото, където не може да се разделя изпълнението на два вградени потока!
Сигурен ли си, че имаш идея за какво говориш? :)
За сигурен съм сигурен че знам за какво говоря, но за изказът наистина съм забравил терминологиите. Работата е там, че процесорите са минали през няколко етапа на еволюция. Така например конвейерната обработка е една от технологиите, която мисля че е въведена с 386 процесорите. При пентиум процесорите нещата са с една принципна стъпка по-напред като някои операции се изпълняват паралелно, ако е възможно. Примерно ако имаме a=10 следвано от b=20 то вероятно се изпълняват едновременно. Тук не говорим за специални нови инструкции! Естествено говорим за assembler (и може би трябваше да представя нещата в такъв формат примерно "mov eax,#10").
По отношение на оптимизацията за да може да се ползва въпросното ускорение - това си е задача на компилатора, ако не пишеш на чист асемблер. Т. е. не променяш кода, а компилаторът ти го балансира сам. Примерно ако имаш a=10; b+=a; c=20; d+=c - то се изпълняват едновременно само тези команди: "b+=a; c=20;". Но ако разпределиш нещата така: a=10; c=20; b+=a; d+=c (което води до същия резултат), тогава първите две и следващите две команди си се изпълняват едновременно.
|
Създадено на 14.12.2020, видяно: 1634 пъти. #21705
Освен въпросния предикшън трябва да се отбележи, че още от времето на пентиумите изпълнението се разпаралелява в две интегрирани нишки където може. Точно if-овече е мястото, където не може да се разделя изпълнението на два вградени потока!
Сигурен ли си, че имаш идея за какво говориш? :)
За сигурен съм сигурен че знам за какво говоря, но за изказът наистина съм забравил терминологиите. Работата е там, че процесорите са минали през няколко етапа на еволюция. Така например конвейерната обработка е една от технологиите, която мисля че е въведена с 386 процесорите. При пентиум процесорите нещата са с една принципна стъпка по-напред като някои операции се изпълняват паралелно, ако е възможно. Примерно ако имаме a=10 следвано от b=20 то вероятно се изпълняват едновременно. Тук не говорим за специални нови инструкции! Естествено говорим за assembler (и може би трябваше да представя нещата в такъв формат примерно "mov eax,#10").
По отношение на оптимизацията за да може да се ползва въпросното ускорение - това си е задача на компилатора, ако не пишеш на чист асемблер. Т. е. не променяш кода, а компилаторът ти го балансира сам. Примерно ако имаш a=10; b+=a; c=20; d+=c - то се изпълняват едновременно само тези команди: "b+=a; c=20;". Но ако разпределиш нещата така: a=10; c=20; b+=a; d+=c (което води до същия резултат), тогава първите две и следващите две команди си се изпълняват едновременно.
Това, което описваш IBM го въвеждат още през 60-те с алгоритъма на Томасуло. И няма нищо общо с каквито и да е нишки.
|
Създадено на 14.12.2020, видяно: 1633 пъти. #21706
Дори и да те "кефи" да програмираш, оптимизирането просто заради оптимизирането е малоумщина. Кодът се пише от хора за хора, а не от хора за компютри. ...
Това е твое мнение. На мен ми помага за еякулация, а това според мен е...
Говорехме за програмиране, а не за сексуални девиации.