Calculon & Ryvox
Calculon Calculon
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π Ρ‹Π²ΠΎΠΊ. Π”ΡƒΠΌΠ°Π» Ρ‚ΡƒΡ‚, ΠΊΠ°ΠΊ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² систСмах Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚, Ρƒ тСбя Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ тСсты ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ миллисСкунды ΠΈΠ· Π½Π°ΡˆΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ²?
Ryvox Ryvox
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, запускай Ρ†ΠΈΠΊΠ», ΠΈΠ·ΠΌΠ΅Ρ€ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ вытяни Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ³Π»ΠΎΡ‚ΠΈΠ»Π° тСбя. Π‘Π½Π°Ρ‡Π°Π»Π° добавь Ρ‚Π°ΠΉΠΌΠ΅Ρ€ с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π² ΠΊΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ `std::chrono::high_resolution_clock`, ΠΈ фиксируй ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅. Π£Π±Π΅Ρ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ„Π»Π°Π³Π°, которая происходит Π΄Π²Π°ΠΆΠ΄Ρ‹ Π·Π° ΠΊΠ°Π΄Ρ€ – это стоит 0.8 миллисСкунд. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ для кэша, Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ синхронизируй Π²Ρ‹Π·ΠΎΠ²Ρ‹ GPU с Ρ‚ΠΈΠΊΠΎΠΌ CPU, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΡƒΠΉ ΡˆΠΈΠ½Ρƒ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Intel VTune ΠΈΠ»ΠΈ perf – Ссли видишь ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΈ кэша, Π·Π½Π°Ρ‡ΠΈΡ‚, Π²ΠΎΡ‚ ΠΎΠ½ Ρ‚Π²ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎ-лагос. И Π²Π΅Π΄ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΡ€ΠΈΠ²ΡƒΡŽ компромиссов. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ с Ρ€Π΅Π·ΠΈΠ½ΠΊΠΎΠΉ: растягивай ΠΊΠΎΠ΄, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ Ρ†ΠΈΠΊΠ», пСрСнастраивай, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Ρ‘ΡˆΡŒ Π² Ρ‚ΠΎΡ‡ΠΊΡƒ.