Greitesnis asin() pasislėpė matomoje vietoje | Mewayz Blog Skip to main content
Hacker News

Greitesnis asin() pasislėpė matomoje vietoje

komentarai

9 min read Via 16bpp.net

Mewayz Team

Editorial Team

Hacker News

Greitesnis asin() pasislėpė matomoje vietoje

Programinės įrangos kūrimo ir verslo operacijų pasaulyje mes dažnai siekiame kito didelio dalyko: naujos sistemos, galingesnės duomenų bazės arba sudėtingos mikro paslaugų architektūros. Manome, kad našumas turi būti padidintas dėl radikalių, žalingų pokyčių. Tačiau kartais reikšmingiausi patobulinimai atrandami iš naujo išnagrinėjus pagrindus, kuriuos naudojame kiekvieną dieną. Tai puikiai iliustruoja naujausias skaitmeninio skaičiavimo apreiškimas: greitesnis ir paprastesnis būdas apskaičiuoti arcsininę funkciją asin(), kuris buvo matematiškai įmanomas visą laiką, bet dešimtmečius buvo pamirštas pagrindinėse programavimo bibliotekose. Tai galingas priminimas, kad optimizavimas ne visada susijęs su sudėtingumu – dažnai tai yra aiškesnio ir tiesesnio kelio paieška. Įmonėms, kurios kuria modulines platformas, šis principas yra aukso dulkės.

Paslėpta bendros funkcijos kaina

Funkcija asin(), grąžinanti kampą, kurio sinusas yra nurodytas skaičius, yra darbo arkliukas srityse nuo grafikos ir robotikos iki duomenų mokslo. Daugelį metų standartiniai diegimai bibliotekose, pvz., C ir C++, naudojo sudėtingą, apibendrintą formulę. Šis metodas, nors ir visiškai tikslus, apėmė daugybę polinominių aproksimacijų ir sąlyginių šakų. Didelio našumo kontekste, kai ši funkcija gali būti iškviečiama milijonus kartų per sekundę modeliavimuose arba realiojo laiko analizės vamzdynuose, šios papildomos operacijos sumuojasi. Pridėtinės skaičiavimo išlaidos, nors ir nedidelės vienam skambučiui, tapo tyliu sistemos našumo mokesčiu – mokesčiu, kurį visi ką tik pripažino kaip verslo išlaidas.

Matematinis supaprastinimas pakeičia žaidimą

Proveržis įvyko iš naujo peržiūrėjus pagrindinę matematiką. Tyrėjai suprato, kad įprastu atveju asin(x), kai x yra tarp -1 ir 1, naudojant arctangento funkciją atan() galima gauti paprastesnę ir efektyvesnę formulę. Tiksliau, asin(x) gali būti apskaičiuotas kaip atan2(x, sqrt(1 - x * x)). Kodėl tai greičiau? Šiuolaikiniai procesoriai yra išskirtinai optimizuoti atan2() ir sqrt() operacijoms. Naudodamas šias labai suderintas aparatinės įrangos instrukcijas, naujasis metodas apeina didžiąją dalį senesnių, sudėtingesnių daugianario skaičiavimų. Rezultatas buvo funkcija, kuri yra ne tik paprastesnė, bet ir iki 1,5–2 kartų greitesnė naudojant standartinę aparatinę įrangą, išlaikant tą patį tikslumą.

"Dizaino elegancija ir vykdymo efektyvumas nėra pasenusios mintys; tai yra keičiamo dydžio sistemų pagrindas. Asin() istorija rodo, kad geriausias sprendimas dažnai yra tas, kuris labiausiai atitinka pagrindinę aparatinę įrangą ir pagrindinę problemą."

Verslo technologijų krūvos pamokos

Tai ne tik istorija, skirta kompiliatorių inžinieriams. Tai puiki analogija šiuolaikinėms verslo operacijoms. Kiek jūsų pagrindinių procesų vykdoma naudojant „senusį diegimą“ – sudėtingas, apibendrintas darbo eigas, kurios buvo sukurtos kitam laikui ir nebuvo iš naujo įvertintos? Siekdamos našumo ir judrumo, įmonės dažnai naudojasi daugiau programinės įrangos, sukurdamos painią architektūrą, kurią sunkiau valdyti ir lėčiau prisitaikyti. asin() optimizavimas moko mus ieškoti paprastesnio, tiesesnio kelio esamose sistemose prieš darant prielaidą, kad mums reikia visapusiško remonto.

Ši filosofija yra tokios platformos kaip Mewayz pagrindas. Vietoj to, kad verslas būtų priverstas prisitaikyti prie monolitinės, standžios programinės įrangos rinkinio, Mewayz siūlo modulinę verslo OS. Tai leidžia išnagrinėti ir optimizuoti savo pagrindines operacijas – CRM, projektų valdymą, ryšius – efektyviausiu būdu sujungiant geriausius savo klasėje įrankius. Kaip ir naujasis asin() diegimas, jis skirtas pašalinti nereikalingą sudėtingumą ir sukurti greitesnį, elegantiškesnį kelią nuo A iki B.

Kur ieškoti „Faster asin()“

Kiekviena įmonė turi sričių, kuriose matomas paprastesnis ir greitesnis sprendimas. Pradėkite nuo dažniausių ir svarbiausių operacijų audito. Pagrindiniai optimizavimo variantai dažnai yra:

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  • Duomenų perdavimas: neautomatinis kopijavimas ir įklijavimas tarp programų ar skyrių.
  • Patvirtinimo darbo eigos: kelių etapų procesai, pagrįsti el. pašto grandinėmis.
  • Ataskaitų teikimas: neautomatinis duomenų konsolidavimas iš skirtingų šaltinių.
  • Kliento įtraukimas: pasikartojantis duomenų įvedimas keliose sistemose.

Taikydami modulinį mąstymą galite supaprastinti šiuos procesus. Tokia platforma kaip „Mewayz“ veikia kaip vienijantis sluoksnis, leidžiantis sklandžiai automatizuoti ir perduoti duomenis tarp specializuotų įrankių. Tai pašalina jūsų verslo logikos „polinominį sudėtingumą“, leidžiančią atlikti pagrindines operacijas greitai ir paprastai pagal rafinuotą pagrindinę formulę. Našumo padidėjimas yra ne tik sutaupytomis milisekundėmis; atgaunama per kelias valandas, sumažėja klaidų ir atrakinamas judrumas. Greitesnis asin() visada buvo šalia ir laukė, kol bus parodytas. Tikėtina, kad kitas jūsų verslo efektyvumo šuolis bus panašioje būsenoje – jau pasiekiamas, tik laukiate naujos perspektyvos.

Dažniausiai užduodami klausimai

Greitesnis asin() pasislėpė matomoje vietoje

Programinės įrangos kūrimo ir verslo operacijų pasaulyje mes dažnai siekiame kito didelio dalyko: naujos sistemos, galingesnės duomenų bazės arba sudėtingos mikro paslaugų architektūros. Manome, kad našumas turi būti padidintas dėl radikalių, žalingų pokyčių. Tačiau kartais reikšmingiausi patobulinimai atrandami iš naujo išnagrinėjus pagrindus, kuriuos naudojame kiekvieną dieną. Tai puikiai iliustruoja naujausias skaitinio skaičiavimo apreiškimas: greitesnis ir paprastesnis būdas apskaičiuoti arcsininę funkciją asin (), kuris matematiškai buvo įmanomas visą laiką, bet dešimtmečius buvo pamirštas pagrindinėse programavimo bibliotekose. Tai galingas priminimas, kad optimizavimas ne visada susijęs su sudėtingumu – dažnai tai yra aiškesnio ir tiesesnio kelio paieška. Įmonėms, kurios kuria modulines platformas, šis principas yra aukso dulkės.

Paslėpta bendros funkcijos kaina

Funkcija asin(), kuri grąžina kampą, kurio sinusas yra nurodytas skaičius, yra darbo arkliukas srityse nuo grafikos ir robotikos iki duomenų mokslo. Daugelį metų standartiniai diegimai bibliotekose, pvz., C ir C++, naudojo sudėtingą, apibendrintą formulę. Šis metodas, nors ir visiškai tikslus, apėmė daugybę polinominių aproksimacijų ir sąlyginių šakų. Didelio našumo kontekste, kai ši funkcija gali būti iškviečiama milijonus kartų per sekundę modeliavimuose arba realiojo laiko analizės vamzdynuose, šios papildomos operacijos sumuojasi. Pridėtinės skaičiavimo išlaidos, nors ir nedidelės vienam skambučiui, tapo tyliu sistemos našumo mokesčiu – mokesčiu, kurį visi ką tik pripažino kaip verslo išlaidas.

Matematinis supaprastinimas pakeičia žaidimą

Proveržis įvyko iš naujo peržiūrėjus pagrindinę matematiką. Tyrėjai suprato, kad įprastu asin (x) skaičiavimo atveju, kai x yra tarp -1 ir 1, naudojant arctangento funkciją atan () galima gauti paprastesnę, efektyvesnę formulę. Tiksliau, asin(x) gali būti apskaičiuotas kaip atan2(x, sqrt(1 - x * x)). Kodėl tai greičiau? Šiuolaikiniai procesoriai yra išskirtinai optimizuoti atan2() ir sqrt() operacijoms. Naudodamas šias labai suderintas aparatinės įrangos instrukcijas, naujasis metodas apeina didžiąją dalį senesnių, sudėtingesnių daugianario skaičiavimų. Rezultatas buvo funkcija, kuri yra ne tik paprastesnė, bet iki 1,5–2 kartų greitesnė naudojant standartinę aparatinę įrangą, išlaikant tą patį tikslumą.

Verslo technologijų krūvos pamokos

Tai ne tik istorija, skirta kompiliatorių inžinieriams. Tai puiki analogija šiuolaikinėms verslo operacijoms. Kiek jūsų pagrindinių procesų vykdoma naudojant „senusį diegimą“ – sudėtingas, apibendrintas darbo eigas, kurios buvo sukurtos kitam laikui ir nebuvo iš naujo įvertintos? Siekdamos našumo ir judrumo, įmonės dažnai naudojasi daugiau programinės įrangos, sukurdamos painią architektūrą, kurią sunkiau valdyti ir lėčiau prisitaikyti. Asin() optimizavimas moko mus ieškoti paprastesnio, tiesesnio kelio esamose sistemose prieš darant prielaidą, kad mums reikia visapusiško kapitalinio remonto.

Kur ieškoti „Faster asin()“

Kiekviena įmonė turi sričių, kuriose matomas paprastesnis ir greitesnis sprendimas. Pradėkite nuo dažniausių ir svarbiausių operacijų audito. Pagrindiniai optimizavimo variantai dažnai yra:

Sukurkite savo verslo OS šiandien

Nuo laisvai samdomų vertėjų iki agentūrų – „Mewayz“ valdo 138 000 ir daugiau įmonių su 208 integruotais moduliais. Pradėkite nemokamai, atnaujinkite, kai augsite.

Sukurti nemokamą paskyrą →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 6,208+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,208+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime