በጃቫ የጂአይቲ ስብስብ አባት ከሆነው ክሊፍ ክሊክ ጋር ታላቅ ቃለ ምልልስ

በጃቫ የጂአይቲ ስብስብ አባት ከሆነው ክሊፍ ክሊክ ጋር ታላቅ ቃለ ምልልስገደል ጠቅ ያድርጉ - CTO of Cratus (የአይኦቲ ዳሳሾች ለሂደት ማሻሻያ)፣ የበርካታ ጀማሪዎች መስራች እና ተባባሪ መስራች (Rocket Realtime School፣ Neurensic እና H2O.aiን ጨምሮ) ከበርካታ የተሳካ መውጫዎች ጋር። ክሊፍ የመጀመሪያውን አቀናባሪውን በ15 አመቱ (ፓስካል ለTRS Z-80) ጻፈ! እሱ በጃቫ (የኖዶች ባህር IR) ውስጥ በ C2 ላይ በሠራው ሥራ ይታወቃል። ይህ አቀናባሪ JIT ከፍተኛ ጥራት ያለው ኮድ ሊያወጣ እንደሚችል ለአለም አሳይቷል፣ይህም ጃቫ ከዘመናዊ የሶፍትዌር መድረኮች አንዱ ሆኖ እንዲወጣ ካደረጉት ምክንያቶች አንዱ ነው። ከዚያም ክሊፍ አዙል ሲስተሞች ባለ 864-ኮር ዋና ፍሬም ከንፁህ የጃቫ ሶፍትዌር ጋር እንዲገነባ ረድቶታል ጂሲ በ500 ጊጋባይት ክምር ላይ በ10 ሚሊሰከንዶች ውስጥ ባለበት እንዲቆም አድርጓል። በአጠቃላይ ክሊፍ በሁሉም የJVM ገጽታዎች ላይ መስራት ችሏል።

 
ይህ ሃብራፖስት ከገደል ጋር ጥሩ ቃለ ምልልስ ነው። በሚከተሉት ርዕሶች ላይ እንነጋገራለን.

  • ወደ ዝቅተኛ ደረጃ ማመቻቸት ሽግግር
  • ትልቅ ተሃድሶ እንዴት እንደሚሰራ
  • የወጪ ሞዴል
  • ዝቅተኛ ደረጃ የማመቻቸት ስልጠና
  • የአፈጻጸም ማሻሻያ ተግባራዊ ምሳሌዎች
  • ለምን የራስዎን የፕሮግራም ቋንቋ ይፍጠሩ
  • የአፈጻጸም መሐንዲስ ሼል
  • ቴክኒካዊ ተግዳሮቶች
  • ሾለ መመዝገቢያ ድልድል እና ባለብዙ-ኮርስ ትንሽ
  • በህይወት ውስጥ ትልቁ ፈተና

ቃለ ምልልሱ የሚካሄደው፡-

  • አንድሬ ሳታሪን ከአማዞን ድር አገልግሎቶች. በሙያው ውስጥ ሙሉ ለሙሉ በተለያዩ ፕሮጄክቶች ውስጥ መሥራት ችሏል-በ Yandex ውስጥ የኒውኤስኪኤል ስርጭት ዳታቤዝ ፣ በ Kaspersky Lab ውስጥ ያለ የደመና ማወቂያ ስርዓት ፣ በ Mail.ru ውስጥ ባለ ብዙ ተጫዋች ጨዋታ እና በዶይቼ ባንክ ውስጥ የውጪ ምንዛሪ ዋጋን ለማስላት አገልግሎትን ሞክሯል። መጠነ ሰፊ የጀርባ እና የተከፋፈሉ ስርዓቶችን ለመሞከር ፍላጎት አለኝ።
  • ቭላድሚር ሲትኒኮቭ ከኔትክራከር. በኔት ክራከር ኦኤስ አፈጻጸም እና ልኬታማነት ላይ የአስር አመታት ስራ፣ የቴሌኮም ኦፕሬተሮች የኔትወርክ እና የአውታረ መረብ መሳሪያ አስተዳደር ሂደቶችን በራስ ሰር ለማሰራት የሚጠቀሙበት ሶፍትዌር። በJava እና Oracle Database የአፈጻጸም ጉዳዮች ላይ ፍላጎት አለኝ። በኦፊሴላዊው PostgreSQL JDBC ሾፌር ውስጥ ከደርዘን በላይ የአፈጻጸም ማሻሻያዎችን አዘጋጅቷል።

ወደ ዝቅተኛ ደረጃ ማመቻቸት ሽግግር

አንድሬይበጂአይቲ ማጠናቀር፣ጃቫ እና በአጠቃላይ የአፈጻጸም ሾል በአለም ትልቅ ስም ነዎት፣ አይደል? 

ገደል: እንደዛ ነው!

አንድሬይስለ አፈጻጸም ሥራ አንዳንድ አጠቃላይ ጥያቄዎችን እንጀምር። በሲፒዩ ደረጃ መስራት ባሉ ከፍተኛ እና ዝቅተኛ ደረጃ ማሻሻያዎች መካከል ስላለው ምርጫ ምን ያስባሉ?

ገደል: አዎ, ሁሉም ነገር እዚህ ቀላል ነው. በጣም ፈጣኑ ኮድ በጭራሽ የማይሰራ ነው። ስለዚህ, ሁልጊዜ ከከፍተኛ ደረጃ መጀመር ያስፈልግዎታል, በአልጎሪዝም ላይ ይስሩ. አንዳንድ በቂ ትላልቅ ቋሚዎች ጣልቃ ካልገቡ በቀር የተሻለ የO ማስታወሻ የባሰ የ O ማስታወሻን ይመታል። ዝቅተኛ ደረጃ ያላቸው ነገሮች ወደ መጨረሻው ይሄዳሉ. በተለምዶ፣ የቀረውን ቁልልዎን በበቂ ሁኔታ ካመቻቹት እና አሁንም የሚቀሩ አንዳንድ አስደሳች ነገሮች ካሉ ይህ ዝቅተኛ ደረጃ ነው። ግን ከከፍተኛ ደረጃ እንዴት እንደሚጀመር? በቂ ከፍተኛ ደረጃ ያለው ሥራ መሰራቱን እንዴት ያውቃሉ? ደህና... በምንም መንገድ። ምንም የተዘጋጁ የምግብ አዘገጃጀት መመሪያዎች የሉም. ችግሩን መረዳት ያስፈልግዎታል, ምን እንደሚሰሩ ይወስኑ (ለወደፊቱ አላስፈላጊ እርምጃዎችን ላለመውሰድ) እና ከዚያ ጠቃሚ ነገር ሊናገር የሚችለውን ፕሮፋይሉን መግለጥ ይችላሉ. በአንድ ወቅት, እርስዎ እራስዎ አላስፈላጊ ነገሮችን እንዳስወገዱ እና አንዳንድ ዝቅተኛ ደረጃ ጥሩ ማስተካከያ ለማድረግ ጊዜው አሁን እንደሆነ ይገነዘባሉ. ይህ በእርግጠኝነት ልዩ የጥበብ አይነት ነው። ብዙ ሰዎች አላስፈላጊ ነገሮችን እያደረጉ ነው, ነገር ግን በፍጥነት በመንቀሳቀስ ስለ ምርታማነት ለመጨነቅ ጊዜ የላቸውም. ግን ይህ ጥያቄው በግልጽ እስኪነሳ ድረስ ነው. ብዙውን ጊዜ 99% የሚሆነው ማንም ሰው የማደርገውን ማንም አይጨነቅም, ማንም ሰው በማይጨነቅበት ወሳኝ መንገድ ላይ አንድ አስፈላጊ ነገር እስከሚመጣበት ጊዜ ድረስ. እና እዚህ ሁሉም ሰው ስለ "ለምን ከመጀመሪያው ጀምሮ በትክክል አልሰራም" ብሎ ማሾፍ ይጀምራል. በአጠቃላይ, በአፈፃፀም ውስጥ ሁልጊዜ የሚሻሻል ነገር አለ. ግን 99% እርስዎ ምንም መሪ የሉዎትም! አንድ ነገር እንዲሰራ ለማድረግ እየሞከርክ ነው እና በሂደቱ ውስጥ አስፈላጊ የሆነውን ነገር ታውቃለህ። ይህ ቁራጭ ፍጹም መሆን እንዳለበት አስቀድመው ማወቅ አይችሉም, ስለዚህ, በእውነቱ, በሁሉም ነገር ፍጹም መሆን አለብዎት. ግን ይህ የማይቻል ነው እና እርስዎ አያደርጉትም. ሁልጊዜ ለማስተካከል ብዙ ነገሮች አሉ - እና ያ ሙሉ በሙሉ የተለመደ ነው።

ትልቅ ተሃድሶ እንዴት እንደሚሰራ

አንድሬይ: በአፈጻጸም ላይ እንዴት ነው የምትሠራው? ይህ የማቋረጫ ችግር ነው። ለምሳሌ፣ ከብዙ ነባር ተግባራት መገናኛ ላይ በሚነሱ ችግሮች ላይ መስራት ነበረብህ?

ገደል: እሱን ለማስወገድ እሞክራለሁ. አፈፃፀሙ ችግር እንደሚሆን ካወቅኩ፣ በተለይ ከመረጃ አወቃቀሮች ጋር ኮድ ማድረግ ከመጀመሬ በፊት አስባለሁ። ግን ብዙውን ጊዜ ይህንን ሁሉ በኋላ ላይ ያገኙታል። እና ከዚያ ወደ ጽንፍ እርምጃዎች መሄድ እና "እንደገና መጻፍ እና ማሸነፍ" የምለውን ማድረግ አለብዎት: በቂ የሆነ ትልቅ ቁራጭ መያዝ ያስፈልግዎታል. አንዳንድ ኮድ አሁንም በአፈጻጸም ችግሮች ወይም በሌላ ነገር እንደገና መፃፍ አለባቸው። ኮድን እንደገና ለመፃፍ ምክንያቱ ምንም ይሁን ምን ፣ ከትንሽ ቁራጭ ይልቅ ትልቅ ቁራጭ እንደገና መፃፍ ሁል ጊዜ የተሻለ ነው። በዚህ ጊዜ ሁሉም ሰው በፍርሃት መንቀጥቀጥ ይጀምራል: "አምላኬ ሆይ, ይህን ያህል ኮድ መንካት አትችልም!" ግን በእውነቱ ፣ ይህ አካሄድ ሁል ጊዜ በተሻለ ሁኔታ ይሰራል። ወዲያውኑ አንድ ትልቅ ችግር መውሰድ ያስፈልግዎታል, በዙሪያው አንድ ትልቅ ክበብ ይሳሉ እና እንዲህ ይበሉ: በክበቡ ውስጥ ያለውን ሁሉንም ነገር እንደገና እጽፋለሁ. ድንበሩ መተካት ከሚያስፈልገው በውስጡ ካለው ይዘት በጣም ያነሰ ነው. እና እንደዚህ አይነት የድንበር ወሰን ስራውን በፍፁምነት እንዲሰሩ ከፈቀዱ እጆችዎ ነጻ ናቸው, የሚፈልጉትን ያድርጉ. ችግሩን ከተረዱ በኋላ እንደገና የመፃፍ ሂደቱ በጣም ቀላል ነው, ስለዚህ ትልቅ ንክሻ ይውሰዱ!
በተመሳሳይ ጊዜ, ትልቅ ድጋሚ ሲጽፉ እና አፈፃፀሙ ችግር እንደሚሆን ሲገነዘቡ ወዲያውኑ ስለሱ መጨነቅ መጀመር ይችላሉ. ይሄ አብዛኛውን ጊዜ ወደ ቀላል ነገሮች ይቀየራል "ውሂብ አትቅዳ፣ በተቻለ መጠን በቀላሉ መረጃን አስተዳድር፣ ትንሽ አድርግ"። በትልልቅ ድጋሚ ጽሑፎች ውስጥ, አፈጻጸምን ለማሻሻል መደበኛ መንገዶች አሉ. እና ሁልጊዜ ማለት ይቻላል በመረጃ ዙሪያ ያሽከረክራሉ.

የወጪ ሞዴል

አንድሬይ: ከፖድካስቶች በአንዱ ላይ ስለ ወጭ ሞዴሎች በምርታማነት አውድ ውስጥ ተናግረሃል። ይህን ስትል ምን ለማለት እንደፈለግክ ብታብራራ?

ገደል፡ በእርግጠኝነት። የተወለድኩት ፕሮሰሰር አፈጻጸም እጅግ በጣም አስፈላጊ በሆነበት ዘመን ነው። እና ይህ ዘመን እንደገና ይመለሳል - እጣ ፈንታ ከአስቂኝ አይደለም. መኖር የጀመርኩት በስምንት ቢት ማሽኖች ዘመን ነው፤ የመጀመሪያዬ ኮምፒዩተሬ በ256 ባይት ሰርቷል። በትክክል ባይት። ሁሉም ነገር በጣም ትንሽ ነበር. መመሪያዎች መቆጠር ነበረባቸው፣ እና የፕሮግራሚንግ ቋንቋ ቁልል ማሳደግ ስንጀምር ቋንቋዎቹ የበለጠ እየጨመሩ መጡ። Assembler ነበር፣ከዚያ ቤዚክ፣ከዚያ ሲ፣እና C ብዙ ዝርዝሮችን ይንከባከቡ ነበር፣እንደ ምዝገባ ድልድል እና መመሪያ ምርጫ። ነገር ግን ሁሉም ነገር እዚያ ግልጽ ነበር, እና ለተለዋዋጭ ምሳሌ ጠቋሚ ካደረግኩ, ጭነት አገኛለሁ, እና የዚህ መመሪያ ዋጋ ይታወቃል. ሃርዴዌሩ የተወሰነ ቁጥር ያላቸውን የማሽን ዑደቶች ያመርታል፣ ስለዚህ የተለያዩ ነገሮችን የማስፈጸሚያ ፍጥነት በቀላሉ የሚሄዱትን ሁሉንም መመሪያዎች በማከል ሊሰላ ይችላል። እያንዳንዱ ማነፃፀር/ሙከራ/ቅርንጫፍ/ጥሪ/ጭነት/መደብር ሊታከል ይችላል እና ያ ለናንተ የማስፈጸሚያ ጊዜ ነው። አፈፃፀሙን ለማሻሻል በሚሰሩበት ጊዜ ፣ ​​​​የትኞቹ ቁጥሮች ከትንሽ ሙቅ ዑደቶች ጋር እንደሚዛመዱ በእርግጠኝነት ትኩረት ይሰጣሉ ። 
ነገር ግን ልክ ወደ ጃቫ፣ ፓይዘን እና ተመሳሳይ ነገሮች እንደቀየሩ ​​ከዝቅተኛ ደረጃ ሃርድዌር በፍጥነት ይርቃሉ። በጃቫ ውስጥ ጌተርን የመጥራት ዋጋ ስንት ነው? በ HotSpot ውስጥ JIT ትክክል ከሆነ ውስጥ ገብቷል።ይጫናል፣ ይህን ካላደረገ ግን የተግባር ጥሪ ይሆናል። ጥሪው በሙቅ ዑደት ላይ ስለሆነ፣ በዚያ ዑደት ውስጥ ያሉትን ሌሎች ማሻሻያዎችን ይሽራል። ስለዚህ, እውነተኛው ዋጋ በጣም ከፍ ያለ ይሆናል. እና ወዲያውኑ አንድ ኮድ የመመልከት ችሎታ ያጣሉ እና በአቀነባባሪው የሰዓት ፍጥነት ፣ ማህደረ ትውስታ እና ጥቅም ላይ ከሚውለው መሸጎጫ አንፃር መፈጸም እንዳለብን ይገነዘባሉ። ይህ ሁሉ አስደሳች የሚሆነው በእውነቱ ወደ አፈፃፀሙ ከገቡ ብቻ ነው።
አሁን እራሳችንን የምናገኘው የአቀነባባሪው ፍጥነት ለአስር አመታት እምብዛም ባልጨመረበት ሁኔታ ውስጥ ነው። የድሮው ዘመን ተመልሰዋል! ከአሁን በኋላ በጥሩ ነጠላ-ክር አፈጻጸም ላይ መተማመን አይችሉም። ነገር ግን በድንገት ወደ ትይዩ ኮምፒውቲንግ ከገቡ፣ በሚያስደንቅ ሁኔታ ከባድ ነው፣ ሁሉም ሰው እንደ ጄምስ ቦንድ ይመለከቱዎታል። እዚህ አስር እጥፍ ማጣደፍ ብዙውን ጊዜ አንድ ሰው የሆነ ነገር ባበላሸባቸው ቦታዎች ይከሰታሉ። ኮንፈረንስ ብዙ ስራ ይጠይቃል። ያንን XNUMXx ፍጥነት ለማግኘት የወጪውን ሞዴል መረዳት ያስፈልግዎታል። ምን እና ምን ያህል ያስከፍላል? እና ይህንን ለማድረግ, አንደበቱ ከስር ሃርድዌር ላይ እንዴት እንደሚስማማ መረዳት ያስፈልግዎታል.
ማርቲን ቶምፕሰን ለብሎግ ጥሩ ቃል ​​መርጧል ሜካኒካል ርህራሄ! ሃርድዌሩ ምን እንደሚሰራ፣ በትክክል እንዴት እንደሚሰራ እና ለምን በመጀመሪያ እንደሚሰራ መረዳት አለቦት። ይህንን በመጠቀም መመሪያዎችን መቁጠር እና የማስፈጸሚያ ጊዜው ወዴት እንደሚሄድ ማወቅ መጀመር በጣም ቀላል ነው። ተገቢው ስልጠና ከሌልዎት, በጨለማ ክፍል ውስጥ ጥቁር ድመት ብቻ እየፈለጉ ነው. ምን እየሰሩ እንዳሉ የማያውቁ ሰዎች አፈጻጸምን ሁልጊዜ ሲያሻሽሉ አይቻለሁ። ብዙ ይሠቃያሉ እና ብዙ እድገት አያደርጉም. እና እኔ አንድ አይነት ኮድ ስወስድ ፣ ሁለት ትናንሽ ጠለፋዎች ውስጥ ሸርተቴ እና አምስት ወይም አስር እጥፍ የፍጥነት ፍጥነትን ስወስድ እነሱ እንደዚህ ናቸው፡- ጥሩ፣ ያ ፍትሃዊ አይደለም፣ እርስዎ የተሻለ እንደነበሩ አስቀድመን አውቀናል. የሚገርም። ስለ ምን እያወራሁ ነው ... የወጪው ሞዴል ምን አይነት ኮድ እንደሚጽፉ እና በትልቁ ምስል ውስጥ በአማካይ ምን ያህል በፍጥነት እንደሚሰራ ነው.

አንድሬይ: እና እንደዚህ አይነት ድምጽ በጭንቅላቱ ውስጥ እንዴት ማቆየት ይችላሉ? ይህ የተገኘው በበለጠ ልምድ ነው ወይስ? እንደዚህ አይነት ልምድ ከየት ይመጣል?

ገደል: ደህና, የእኔን ልምድ በቀላል መንገድ አላገኘሁም. እያንዳንዱን መመሪያ መረዳት በሚችሉበት ጊዜ በጉባኤ ውስጥ ፕሮግራም አዘጋጅቻለሁ። ይህ ደደብ ይመስላል, ነገር ግን ከዚያ ጊዜ ጀምሮ Z80 መመሪያ ስብስብ ሁልጊዜ አእምሮዬ ውስጥ, የእኔ ትውስታ ውስጥ ይቆያል. በተናገርኩ ደቂቃ ውስጥ የሰዎችን ስም አላስታውስም ፣ ግን ከ 40 ዓመታት በፊት የተጻፈ ኮድ አስታውሳለሁ ። አስቂኝ ነው ፣ ሲንድሮም ይመስላል "ደደብ ሳይንቲስት».

ዝቅተኛ ደረጃ የማመቻቸት ስልጠና

አንድሬይ: ለመግባት ቀላሉ መንገድ አለ?

ገደል: አዎ እና አይደለም. ሁላችንም የምንጠቀመው ሃርድዌር በጊዜ ሂደት ያን ያህል ለውጥ አላመጣም። ከአርም ስማርትፎኖች በስተቀር ሁሉም ሰው x86 ይጠቀማል። አንድ ዓይነት ሃርድኮር መክተት ካላደረጉ፣ ተመሳሳይ ነገር እየሰሩ ነው። እሺ ቀጥሎ። መመሪያዎቹ ለብዙ መቶ ዘመናት አልተቀየሩም. በጉባኤ ውስጥ ሄደው የሆነ ነገር መጻፍ ያስፈልግዎታል። ብዙ አይደለም, ግን ለመረዳት ለመጀመር በቂ ነው. ፈገግ እያልክ ነው፣ ግን ሙሉ በሙሉ በቁም ነገር ነው የምናገረው። በቋንቋ እና በሃርድዌር መካከል ያለውን ግንኙነት መረዳት አለቦት። ከዚያ በኋላ መሄድ እና ትንሽ መፃፍ እና ለትንሽ አሻንጉሊት ቋንቋ ትንሽ የአሻንጉሊት ማጠናከሪያ ማዘጋጀት ያስፈልግዎታል. አሻንጉሊት መሰል ማለት በተመጣጣኝ ጊዜ ውስጥ መደረግ አለበት. እጅግ በጣም ቀላል ሊሆን ይችላል, ግን መመሪያዎችን ማመንጨት አለበት. መመሪያ የማመንጨት ተግባር ሁሉም ሰው በሚጽፈው የከፍተኛ ደረጃ ኮድ እና በሃርድዌር ላይ በሚሰራው የማሽን ኮድ መካከል ያለውን ድልድይ ወጪ ሞዴል ለመረዳት ይረዳዎታል። አቀናባሪው በሚጻፍበት ጊዜ ይህ ደብዳቤ ወደ አንጎል ይቃጠላል። በጣም ቀላሉ አቀናባሪ እንኳን. ከዚያ በኋላ ፣ ጃቫን ማየት መጀመር ይችላሉ እና የትርጉም ክፍሉ በጣም ጥልቅ ነው ፣ እና በላዩ ላይ ድልድዮችን መገንባት የበለጠ ከባድ ነው። በጃቫ ውስጥ የእኛ ድልድይ ጥሩም ይሁን መጥፎ ፣ የሚፈርስበት እና የማይሆን ​​ምን እንደሆነ ለመረዳት በጣም ከባድ ነው። ነገር ግን ኮዱን የሚመለከቱበት እና የሚረዱበት አንድ ዓይነት መነሻ ያስፈልገዎታል፡- “አዎ፣ ይህ ጌተር ሁል ጊዜ መስመር ውስጥ መግባት አለበት። እና ከዚያ አንዳንድ ጊዜ ይህ ይከሰታል ፣ ዘዴው በጣም ትልቅ ከሆነበት ሁኔታ በስተቀር ፣ እና JIT ሁሉንም ነገር ማስገባት ይጀምራል። የእንደዚህ አይነት ቦታዎች አፈፃፀም ወዲያውኑ ሊተነብይ ይችላል. ብዙውን ጊዜ ጌተርስ በደንብ ይሰራሉ, ነገር ግን ትላልቅ የሙቅ ቀለበቶችን ይመለከታሉ እና ምን እየሰሩ እንዳሉ የማያውቁ አንዳንድ የተግባር ጥሪዎች እዚያ ላይ ተንሳፋፊ እንደሆኑ ይገነዘባሉ. ይህ የጌተርስ በስፋት ጥቅም ላይ የዋለው ችግር ነው, ያልተሰመሩበት ምክንያት ጌተር መሆናቸው ግልጽ አይደለም. እጅግ በጣም ትንሽ የሆነ የኮድ መሰረት ካለዎት በቀላሉ ማስታወስ እና ከዚያ ማለት ይችላሉ-ይህ ገተር ነው ፣ እና ይህ አዘጋጅ ነው። በትልቅ የኮድ መሰረት እያንዳንዱ ተግባር የራሱ ታሪክ ይኖራል, በአጠቃላይ, ለማንም የማይታወቅ. ፕሮፋይለሩ በአንዳንድ loop ላይ 24% ጊዜ እንደጠፋን እና ይህ ሉፕ ምን እየሰራ እንደሆነ ለመረዳት በውስጡ ያለውን እያንዳንዱን ተግባር ማየት አለብን ይላል። ተግባሩን ሳያጠና ይህን ለመረዳት የማይቻል ነው, እና ይህ የመረዳትን ሂደት በእጅጉ ይቀንሳል. ለዚያም ነው ጌቴተር እና ሴተርን የማልጠቀምበት፣ አዲስ ደረጃ ላይ ደርሻለሁ!
የወጪውን ሞዴል የት ማግኘት ይቻላል? ደህና ፣ የሆነ ነገር ማንበብ ትችላለህ ፣ በእርግጥ… ግን ጥሩው መንገድ እርምጃ መውሰድ ነው ብዬ አስባለሁ። አነስተኛ ኮምፕሌተር መስራት የወጪውን ሞዴል ለመረዳት እና ከራስዎ ጭንቅላት ጋር ለመገጣጠም ምርጡ መንገድ ይሆናል. ማይክሮዌቭን ለማዘጋጀት ተስማሚ የሆነ ትንሽ ማጠናከሪያ ለጀማሪዎች ስራ ነው. ደህና ፣ ማለቴ ፣ ቀድሞውኑ የፕሮግራም ችሎታ ካለዎት ፣ ያ በቂ መሆን አለበት። እነዚህ ሁሉ ነገሮች እንደ አንድ ዓይነት አልጀብራዊ አገላለጽ ያለዎትን ሕብረቁምፊ መተንተን፣የሒሳብ ስራዎች መመሪያዎችን በትክክለኛው ቅደም ተከተል ማውጣት፣ትክክለኛዎቹን እሴቶች ከመዝገቦች መውሰድ - ይህ ሁሉ በአንድ ጊዜ ይከናወናል። እና በሚያደርጉበት ጊዜ, በአንጎልዎ ውስጥ ይታተማል. አቀናባሪ የሚያደርገውን ሁሉም ሰው የሚያውቅ ይመስለኛል። እና ይህ ስለ ወጪ ሞዴል ግንዛቤ ይሰጣል.

የአፈጻጸም ማሻሻያ ተግባራዊ ምሳሌዎች

አንድሬይ: በምርታማነት ላይ ሲሰሩ ሌላ ትኩረት መስጠት ያለብዎት?

ገደልየውሂብ መዋቅሮች. በነገራችን ላይ፣ አዎ፣ እነዚህን ክፍሎች ለረጅም ጊዜ አላስተማርኩም... የሮኬት ትምህርት ቤት. አስደሳች ነበር, ግን ብዙ ጥረት ይጠይቃል, እና ህይወትም አለኝ! እሺ ስለዚህ, በአንድ ትልቅ እና አስደሳች ክፍል ውስጥ "አፈፃፀምዎ የት ይሄዳል" ለተማሪዎች ምሳሌ ሰጥቻቸዋለሁ-ሁለት እና ግማሽ ጊጋባይት ፊንቴክ መረጃ ከሲኤስቪ ፋይል ተነቧል ከዚያም የተሸጡትን ምርቶች ብዛት ማስላት ነበረባቸው. . መደበኛ ምልክት ገበያ ውሂብ. ከ70ዎቹ ጀምሮ የUDP ጥቅሎች ወደ የጽሑፍ ቅርጸት ተለውጠዋል። የቺካጎ የመርካንቲል ልውውጥ - እንደ ቅቤ፣ በቆሎ፣ አኩሪ አተር፣ እንደዛ ያሉ ሁሉም አይነት ነገሮች። እነዚህን ምርቶች መቁጠር አስፈላጊ ነበር, የግብይቶች ብዛት, የገንዘብ እና የእቃዎች አማካይ የእንቅስቃሴ መጠን, ወዘተ. በጣም ቀላል የግብይት ሂሳብ ነው፡ የምርት ኮዱን ያግኙ (ይህ በሃሽ ሠንጠረዥ ውስጥ 1-2 ቁምፊዎች ነው)፣ መጠኑን ያግኙ፣ ከንግዱ ስብስቦች ውስጥ ወደ አንዱ ያክሉት፣ ድምጽ ይጨምሩ፣ እሴት ይጨምሩ እና ሌሎች ሁለት ነገሮች። በጣም ቀላል ሂሳብ። የአሻንጉሊት አተገባበር በጣም ቀላል ነበር: ሁሉም ነገር በፋይል ውስጥ ነው, ፋይሉን አነበብኩ እና በእሱ ውስጥ እንቀሳቀስ ነበር, የግለሰብ መዝገቦችን ወደ ጃቫ ሕብረቁምፊዎች በመከፋፈል, በውስጣቸው አስፈላጊ የሆኑትን ነገሮች በመፈለግ እና ከላይ በተገለጸው የሂሳብ ስሌት መሰረት እጨምራለሁ. እና በተወሰነ ዝቅተኛ ፍጥነት ይሰራል.

በዚህ አካሄድ፣ ምን እየተካሄደ እንዳለ ግልጽ ነው፣ እና ትይዩ ማስላት አይጠቅምም፣ አይደል? ትክክለኛውን የመረጃ አወቃቀሮችን በመምረጥ ብቻ የአምስት እጥፍ የአፈፃፀም መጨመር ሊገኝ ይችላል. እና ይህ ልምድ ያላቸውን ፕሮግራመሮች እንኳን ያስደንቃል! በእኔ ሁኔታ፣ ብልሃቱ በሙቅ ዑደት ውስጥ የማህደረ ትውስታ ምደባዎችን ማድረግ የለብዎትም የሚል ነበር። ደህና ፣ ይህ ሙሉው እውነት አይደለም ፣ ግን በአጠቃላይ - X በቂ በሚሆንበት ጊዜ “በX ውስጥ አንድ ጊዜ” ማጉላት የለብዎትም። X ሁለት ጊጋባይት ተኩል ሲሆን “በደብዳቤ አንድ ጊዜ” ወይም “በመስመር አንድ ጊዜ” ወይም “በሜዳ አንድ ጊዜ” ማንኛውንም ነገር መመደብ የለብዎትም። ይህ ጊዜ የሚጠፋበት ነው. ይህ እንዴት ይሠራል? ስደውል አስቡት String.split() ወይም BufferedReader.readLine(). Readline በአውታረ መረቡ ላይ ከመጣው የባይቶች ስብስብ አንድ ጊዜ ለእያንዳንዱ መስመር ለእያንዳንዱ በመቶ ሚሊዮኖች ለሚቆጠሩ መስመሮች ሕብረቁምፊ ይሠራል። ይህንን መስመር ወስጄ ተነተን እወረውረው። ለምንድነው የምጥለው - ደህና፣ አስቀድሜ አዘጋጅቼዋለሁ፣ ያ ብቻ ነው። ስለዚህ፣ ከእነዚህ 2.7ጂ ለሚነበቡ ለእያንዳንዱ ባይት ሁለት ቁምፊዎች በመስመሩ ውስጥ ይፃፋሉ፣ ማለትም፣ ቀድሞው 5.4ጂ፣ እና ምንም ተጨማሪ ነገር አያስፈልገኝም፣ ስለዚህ ይጣላሉ። የማህደረ ትውስታውን ባንድዊድዝ ከተመለከቱ በፕሮሰሰሩ ውስጥ በሚሞሪ እና ሚሞሪ አውቶብስ ውስጥ የሚያልፍ 2.7ጂ እንጭናለን ከዚያም በእጥፍ የሚበልጥ ሚሞሪ ውስጥ ወዳለው መስመር ይላካል እና እያንዳንዱ አዲስ መስመር ሲፈጠር ይህ ሁሉ ይበላሻል። ግን ማንበብ አለብኝ, ሃርድዌሩ ያነበዋል, ምንም እንኳን ሁሉም ነገር በኋላ ላይ የተበላሸ ቢሆንም. እና መፃፍ አለብኝ ምክንያቱም መስመር ስለፈጠርኩ እና መሸጎጫዎቹ ሞልተዋል - መሸጎጫው 2.7G ማስተናገድ አይችልም። ስለዚህ ላነበብኩት ባይት ሁሉ ሁለት ተጨማሪ ባይት አንብቤ ሁለት ተጨማሪ ባይት እጽፋለሁ በመጨረሻም 4፡1 ሬሾ አላቸው - በዚህ ሬሾ ውስጥ የማስታወሻ ባንድዊድዝ እያባከንን ነው። እና ከዚያ እኔ ካደረግኩ ይሆናል String.split() - ይህን ሳደርግ የመጨረሻው ጊዜ አይደለም, በውስጡ ሌላ 6-7 መስኮች ሊኖሩ ይችላሉ. ስለዚህ ሲኤስቪን የማንበብ እና ከዚያም ገመዱን መተንተን የሚታወቀው ኮድ እንዲኖሮት ከሚፈልጉት አንፃር 14፡1 አካባቢ የማህደረ ትውስታ ባንድዊድዝ ብክነትን ያስከትላል። እነዚህን ምርጫዎች ከጣሉ, አምስት እጥፍ ፍጥነት ማግኘት ይችላሉ.

እና ያን ያህል አስቸጋሪ አይደለም. ኮዱን ከትክክለኛው ማዕዘን ከተመለከቱት, ችግሩን ከተረዱ በኋላ ሁሉም ነገር ቀላል ይሆናል. የማህደረ ትውስታ መመደብን ሙሉ በሙሉ ማቆም የለብህም: ብቸኛው ችግር አንድ ነገር መመደብ እና ወዲያውኑ ይሞታል, እና በመንገዱ ላይ አንድ አስፈላጊ መገልገያ ያቃጥላል, በዚህ ሁኔታ ውስጥ የማህደረ ትውስታ ባንድዊድዝ ነው. እና ይህ ሁሉ የምርታማነት መቀነስ ያስከትላል. በ x86 ላይ ብዙውን ጊዜ የፕሮሰሰር ዑደቶችን በንቃት ማቃጠል ያስፈልግዎታል ፣ ግን እዚህ ሁሉንም ማህደረ ትውስታ ቀደም ብለው አቃጥለዋል። መፍትሄው የመልቀቂያውን መጠን መቀነስ ነው. 
ሌላው የችግሩ አካል ሜሞሪ ሲወጣ ፕሮፋይሉን ቢያካሂዱት፣ ልክ ሲከሰት፣ አብዛኛውን ጊዜ ካሼው ተመልሶ እስኪመጣ ድረስ እየጠበቁ ነው፣ ምክንያቱም አሁን ባዘጋጁት ቆሻሻ የተሞላ፣ እነዚያ ሁሉ መስመሮች። ስለዚህ, እያንዳንዱ ጭነት ወይም የሱቅ አሠራር ቀርፋፋ ይሆናል, ምክንያቱም ወደ መሸጎጫ ያመጣሉ - ሙሉው መሸጎጫ ቀርፋፋ ሆኗል, ቆሻሻው እስኪወጣ ድረስ ይጠብቃል. ስለዚህ ፕሮፋይለሩ በጠቅላላው ሉፕ ውስጥ ሞቅ ያለ የዘፈቀደ ድምጽ ብቻ ያሳያል - በኮዱ ውስጥ የተለየ ትኩስ መመሪያ ወይም ቦታ አይኖርም። ጫጫታ ብቻ። እና የጂሲ ዑደቶችን ከተመለከቱ፣ ሁሉም ወጣት ትውልድ እና እጅግ በጣም ፈጣን - ማይክሮ ሰከንድ ወይም ሚሊሰከንዶች ከፍተኛ ናቸው። ከሁሉም በላይ ይህ ሁሉ ማህደረ ትውስታ ወዲያውኑ ይሞታል. በቢሊዮን የሚቆጠር ጊጋባይት መድበሃል፣ እርሱም ቆርጦ ቆርጦ እንደገና ቆርጠዋቸዋል። ይህ ሁሉ በጣም በፍጥነት ይከሰታል. በጠቅላላው ዑደት ላይ ርካሽ የጂሲ ዑደቶች ፣ ሞቅ ያለ ድምፅ ፣ ግን 5x ፍጥነት ማግኘት እንፈልጋለን። በዚህ ጊዜ የሆነ ነገር በጭንቅላታችሁ ውስጥ ተዘግቶ “ለምንድን ነው?” የሚል ድምጽ ማሰማት አለበት። የማህደረ ትውስታ ስትሪፕ መብዛት በሚታወቀው አራሚ ውስጥ አይታይም፤ የሃርድዌር አፈጻጸም ቆጣሪ አራሚውን ማስኬድ እና እራስዎ እና በቀጥታ ማየት ያስፈልግዎታል። ነገር ግን ይህ ከእነዚህ ሶስት ምልክቶች በቀጥታ ሊጠረጠር አይችልም. ሦስተኛው ምልክት እርስዎ የሚያደምቁትን ነገር ሲመለከቱ ፕሮፋይሉን ይጠይቁ እና “አንድ ቢሊዮን ረድፎችን ሰርተዋል ፣ ግን ጂሲ በነጻ ሰርቷል” ሲል ይመልሳል። ልክ ይህ እንደተከሰተ, በጣም ብዙ እቃዎችን እንደፈጠሩ እና ሙሉውን የማስታወሻ መስመሮችን እንዳቃጠሉ ይገነዘባሉ. ይህንን ለማወቅ የሚያስችል መንገድ አለ, ግን ግልጽ አይደለም. 

ችግሩ በመረጃ አወቃቀሩ ውስጥ ነው፡ ለሚፈጠረው ነገር ሁሉ ስር ያለው ባዶ መዋቅር፣ በጣም ትልቅ ነው፣ በዲስክ ላይ 2.7ጂ ነው፣ ስለዚህ የዚህ ነገር ቅጂ መስራት በጣም የማይፈለግ ነው - ወዲያውኑ ከአውታረ መረብ ባይት ቋት መጫን ይፈልጋሉ። ወደ መመዝገቢያዎች ውስጥ, ወደ መስመር አምስት ጊዜ ወደ ኋላ እና ወደኋላ ላለመጻፍ. እንደ አለመታደል ሆኖ ጃቫ እንደዚህ ያለ ቤተ-መጽሐፍት እንደ የJDK አካል በነባሪነት አይሰጥም። ግን ይህ ቀላል ነው ፣ ትክክል? በመሠረቱ፣ እነዚህ ከ5-10 የኮድ መስመሮች የእራስዎን የታሸገ string ጫኝ ለመተግበር የሚያገለግሉ ሲሆን ይህም የሕብረቁምፊ ክፍልን ባህሪ ይደግማል ፣ ይህም በባይት ቋት ዙሪያ መጠቅለያ ነው። በውጤቱም ፣ ልክ እንደ ሕብረቁምፊዎች እየሰሩ ነው ፣ ግን በእውነቱ የመያዣው ጠቋሚዎች ወደዚያ ይንቀሳቀሳሉ ፣ እና ጥሬው ባይት የትም አይገለበጥም ፣ እና ስለዚህ ተመሳሳይ ቋት እንደገና ደጋግመው ጥቅም ላይ ይውላሉ ፣ እና ኦፐሬቲንግ ሲስተሙ እንደ እነዚህ ባይት ማቋቋሚያዎች ድብቅ ድርብ ማቋቋሚያ ያሉ የተነደፉለትን ነገሮች በእራስዎ ለመውሰድ ደስተኛ ነው፣ እና እርስዎ ከእንግዲህ ማለቂያ በሌለው አላስፈላጊ የውሂብ ፍሰት ውስጥ መፍጨት አይችሉም። በነገራችን ላይ ከጂሲ ጋር በሚሰሩበት ጊዜ እያንዳንዱ የማህደረ ትውስታ ድልድል ከመጨረሻው የጂ.ሲ.ሲ ዑደት በኋላ ለሂደቱ እንደማይታይ ዋስትና እንደሚሰጥ ይገባዎታል? ስለዚህ ፣ ይህ ሁሉ በመሸጎጫ ውስጥ ሊሆን አይችልም ፣ እና ከዚያ 100% ዋስትና ያለው ኪሳራ ይከሰታል። ከጠቋሚ ጋር ሲሰሩ በ x86 ላይ መዝገብን ከማስታወሻ መቀነስ 1-2 የሰዓት ዑደቶችን ይወስዳል እና ይህ እንደተከሰተ ወዲያውኑ ይከፍላሉ ፣ ይከፍላሉ ፣ ይከፍላሉ ፣ ምክንያቱም ማህደረ ትውስታው ሙሉ በሙሉ ስለበራ ነው። ዘጠኝ መሸጎጫዎች - እና ይህ የማህደረ ትውስታ ምደባ ዋጋ ነው. እውነተኛ ዋጋ።

በሌላ አነጋገር የውሂብ አወቃቀሮች ለመለወጥ በጣም አስቸጋሪው ነገር ናቸው. እና በኋላ ላይ አፈጻጸምን የሚገድል የተሳሳተ የውሂብ መዋቅር እንደመረጡ ከተረዱ, ብዙ የሚቀሩ ስራዎች አሉ, ነገር ግን ካላደረጉ, ነገሮች እየባሱ ይሄዳሉ. በመጀመሪያ ደረጃ ስለ የውሂብ አወቃቀሮች ማሰብ አለብዎት, ይህ አስፈላጊ ነው. እዚህ ያለው ዋናው ወጪ በስብ ዳታ መዋቅሮች ላይ ይወርዳል፣ እነዚህም “የዳታ መዋቅር Xን ወደ ዳታ መዋቅር Y ገልብጫለሁ ምክንያቱም የY ቅርፅን ስለምወደው” በሚለው ዘይቤ ጥቅም ላይ መዋል የጀመሩ ናቸው። ነገር ግን የኮፒ ኦፕሬሽኑ (ርካሽ የሚመስለው) የማስታወሻውን የመተላለፊያ ይዘት ያባክናል እና ያ ሁሉም የጠፋው የማስፈጸሚያ ጊዜ የተቀበረበት ነው። የJSON ግዙፍ ሕብረቁምፊ ካለኝ እና ወደ የተዋቀረ የ DOM ዛፍ የ POJOs ወይም ሌላ ነገር ልለውጠው ከፈለግኩ፣ ያንን ሕብረቁምፊ መተንተን እና POJOን የመገንባት እና ከዚያ በኋላ እንደገና POJOን ማግኘት አላስፈላጊ ወጪን ያስከትላል - እሱ ነው። ርካሽ አይደለም. በሕብረቁምፊ ዙሪያ ከመሮጥዎ በቀር በPOJOs ዙሪያ የሚሮጡ ከሆነ። ከእጅ ውጪ፣ በምትኩ ሕብረቁምፊውን ዲክሪፕት ለማድረግ መሞከር እና ከዚያ የሚፈልጉትን ብቻ ማውጣት ይችላሉ፣ ወደ ማንኛውም POJO ሳይቀይሩት። ይህ ሁሉ የሚሆነው ከፍተኛ አፈጻጸም በሚያስፈልግበት መንገድ ላይ ከሆነ፣ ለእርስዎ ምንም POJOs የለም፣ በሆነ መንገድ በቀጥታ መስመሩን መቆፈር ያስፈልግዎታል።

ለምን የራስዎን የፕሮግራም ቋንቋ ይፍጠሩ

አንድሬይ፦ የወጪ ሞዴሉን ለመረዳት የራሳችሁን ትንሽ ቋንቋ መፃፍ አለባችሁ ብሏል...

ገደል፦ ቋንቋ ሳይሆን አቀናባሪ። ቋንቋ እና አቀናባሪ ሁለት የተለያዩ ነገሮች ናቸው። በጣም አስፈላጊው ልዩነት በጭንቅላቱ ውስጥ ነው. 

አንድሬይበነገራችን ላይ እኔ እስከማውቀው ድረስ የራስህ ቋንቋ ለመፍጠር እየሞከርክ ነው። ለምንድነው?

ገደል: ምክንያቱም ስለምችል! በከፊል ጡረታ ወጥቻለሁ፣ ስለዚህ ይህ የትርፍ ጊዜዬ ነው። በህይወቴ በሙሉ የሌሎችን ቋንቋዎች ተግባራዊ አድርጌያለሁ። በኮዲንግ ስልቴ ላይም ብዙ ሰርቻለሁ። እና ደግሞ በሌሎች ቋንቋዎች ችግሮች ስላየሁ ነው። የተለመዱ ነገሮችን ለመስራት የተሻሉ መንገዶች እንዳሉ አይቻለሁ። እና እነሱን እጠቀም ነበር. በራሴ፣ በጃቫ፣ በፓይዘን፣ በሌላ በማንኛውም ቋንቋ ችግሮችን ማየት ሰልችቶኛል። አሁን በReact Native፣ JavaScript እና Elm እንደ የትርፍ ጊዜ ማሳለፊያ ጽፌ ስለጡረታ ሳይሆን ስለ ንቁ ስራ ነው። እኔ ደግሞ በፓይዘን ውስጥ እጽፋለሁ እና ምናልባትም ለጃቫ ደጋፊዎች በማሽን መማር ላይ መስራቴን እቀጥላለሁ። ብዙ ታዋቂ ቋንቋዎች አሉ እና ሁሉም አስደሳች ባህሪዎች አሏቸው። ሁሉም ሰው በራሱ መንገድ ጥሩ ነው እና እነዚህን ሁሉ ባህሪያት አንድ ላይ ለማምጣት መሞከር ይችላሉ. ስለዚህ፣ እኔን የሚስቡኝን ነገሮች እያጠናሁ ነው፣ የቋንቋ ባህሪ፣ ምክንያታዊ የሆኑ የትርጉም ጽሑፎችን ለማውጣት እየሞከርኩ ነው። እና እስካሁን ድረስ እየተሳካልኝ ነው! በአሁኑ ጊዜ ከማስታወሻ ትርጉሞች ጋር እየታገልኩ ነው ፣ ምክንያቱም በሲ እና በጃቫ ውስጥ እንዲኖረኝ እና ጠንካራ የማስታወሻ ሞዴል እና የማስታወሻ ትርጓሜዎችን ለጭነቶች እና መደብሮች ማግኘት እፈልጋለሁ። በተመሳሳይ ጊዜ እንደ Haskell ያለ አውቶማቲክ ዓይነት ግምት ይኑርዎት። እዚህ፣ ሃስኬልን የመሰለ ኢንፈረንስ ከሁለቱም C እና Java ውስጥ የማስታወሻ ስራ ጋር ለመደባለቅ እየሞከርኩ ነው። ለምሳሌ ላለፉት 2-3 ወራት ያደረግኩት ይህንኑ ነው።

አንድሬይ: ከሌሎች ቋንቋዎች የተሻለ ገጽታ ያለው ቋንቋ ከገነባህ, አንድ ሰው ተቃራኒውን ያደርጋል ብለህ ታስባለህ: ሃሳቦችህን ውሰድ እና ተጠቀምባቸው?

ገደልአዲስ ቋንቋዎች የሚታዩት በዚህ መንገድ ነው! ጃቫ ለምን ከ C ጋር ይመሳሰላል? ምክንያቱም ሲ ሁሉም ሰው የተረዳው ጥሩ አገባብ ነበረው እና ጃቫ በዚህ አገባብ ተመስጦ ነበር ፣የደህንነት አይነትን ፣የድርድር ወሰን ማረጋገጥን ፣ጂሲን በመጨመር እና አንዳንድ ነገሮችን ከC አሻሽለዋል ።የራሳቸውን ጨምረዋል። ግን እነሱ በጣም ተመስጠው ነበር ፣ አይደል? ሁሉም ሰው ከእርስዎ በፊት በነበሩት ግዙፎች ትከሻ ላይ ይቆማል - እድገት የሚደረገው በዚህ መንገድ ነው.

አንድሬይእኔ እንደተረዳሁት ቋንቋህ የማስታወስ ችሎታ ይኖረዋል። ከ Rust እንደ ብድር ማረጋገጫ ያለ ነገር ስለመተግበር አስበዋል? እሱን አይተሃል ፣ ስለ እሱ ምን ታስባለህ?

ገደል: ደህና፣ በዚህ ሁሉ ማሎክ እና ነፃ፣ እና የህይወት ዘመንን በእጅ በማስተዳደር ለዘመናት ሲን እየፃፍኩ ነው። ታውቃለህ, 90-95% በእጅ ቁጥጥር የሚደረግበት የህይወት ጊዜ ተመሳሳይ መዋቅር አለው. እና በእጅ ማድረግ በጣም በጣም ያማል። አቀናባሪው እዚያ ምን እየተካሄደ እንዳለ እና በድርጊትህ ምን እንዳሳካህ በቀላሉ እንዲነግርህ እፈልጋለሁ። ለአንዳንድ ነገሮች፣ ተበዳሪው አራሚ ይህን ከሳጥኑ ውስጥ ያደርገዋል። እና መረጃን በራስ-ሰር ማሳየት፣ ሁሉንም ነገር መረዳት እና ይህን ግንዛቤ በማስተዋወቅ ላይ እንኳን ሊከብደኝ አይገባም። ቢያንስ የአካባቢያዊ የማምለጫ ትንተና ማድረግ አለበት, እና ካልተሳካ ብቻ, የህይወት ዘመንን የሚገልጹ አይነት ማብራሪያዎችን መጨመር ያስፈልገዋል - እና እንዲህ ዓይነቱ እቅድ ከተበዳሪው አረጋጋጭ ወይም በእርግጥ ካለ ማንኛውም የማስታወሻ መቆጣጠሪያ የበለጠ ውስብስብ ነው. "ሁሉም ነገር ደህና ነው" እና "ምንም አልገባኝም" መካከል ያለው ምርጫ - አይደለም, የተሻለ ነገር መኖር አለበት. 
ስለዚህ፣ በC ውስጥ ብዙ ኮድ የፃፈ ሰው እንደመሆኔ፣ ለአውቶማቲክ የህይወት ዘመን ቁጥጥር ድጋፍ ማግኘት በጣም አስፈላጊው ነገር ይመስለኛል። እኔ ደግሞ ጃቫ ምን ያህል ማህደረ ትውስታ እንደሚጠቀም ጠግቤያለሁ እና ዋናው ቅሬታ GC ነው. በጃቫ ውስጥ ማህደረ ትውስታን ሲመድቡ, በመጨረሻው የጂሲ ዑደት ውስጥ ያለውን ማህደረ ትውስታን መልሰው ማግኘት አይችሉም. ይበልጥ ትክክለኛ የማህደረ ትውስታ አስተዳደር ባላቸው ቋንቋዎች ይህ አይደለም። ማሎክን ከጠራህ, ወዲያውኑ ብዙውን ጊዜ ጥቅም ላይ የዋለውን ማህደረ ትውስታ ታገኛለህ. ብዙውን ጊዜ አንዳንድ ጊዜያዊ ነገሮችን በማስታወስ ያከናውናሉ እና ወዲያውኑ መልሰው ይመልሱት። እና ወዲያውኑ ወደ ማሎክ ገንዳ ይመለሳል, እና የሚቀጥለው የማሎክ ዑደት እንደገና ይጎትታል. ስለዚህ ትክክለኛው የማስታወስ አጠቃቀም በተወሰነ ጊዜ ውስጥ ወደ ህይወት ያላቸው ነገሮች ስብስብ ይቀንሳል, በተጨማሪም ፍሳሽ. እና ሁሉም ነገር ሙሉ ለሙሉ ጨዋነት በጎደለው መንገድ ካልፈሰሰ, አብዛኛው ማህደረ ትውስታ ወደ መሸጎጫዎች እና ማቀነባበሪያው ያበቃል, እና በፍጥነት ይሰራል. ነገር ግን ብዙ በእጅ የማስታወሻ አስተዳደርን ይጠይቃል malloc እና ነፃ በትክክለኛው ቅደም ተከተል ፣ በትክክለኛው ቦታ። ዝገት ይህንን በራሱ በአግባቡ ማስተናገድ ይችላል፣ እና በብዙ አጋጣሚዎች የማህደረ ትውስታ ፍጆታ አሁን ባለው ስሌት ብቻ ስለሚጠበብ - በተቃራኒው የሚቀጥለው የጂሲ ዑደት ማህደረ ትውስታን ለማስለቀቅ መጠበቅ ነው። በውጤቱም, አፈፃፀሙን ለማሻሻል በጣም አስደሳች መንገድ አግኝተናል. እና በጣም ኃይለኛ - ለፊንቴክ መረጃን በምሰራበት ጊዜ እንደዚህ ያሉ ነገሮችን አደረግሁ ፣ እና ይህ አምስት ጊዜ ያህል ፍጥነት እንዳገኝ አስችሎኛል። ያ በጣም ትልቅ ማበረታቻ ነው፣ በተለይ ፕሮሰሰሮች በፍጥነት በማይሄዱበት እና አሁንም ማሻሻያዎችን እየጠበቅን ነው።

የአፈጻጸም መሐንዲስ ሥራ

አንድሬይበአጠቃላይ ስለ ሙያዎች ዙሪያ መጠየቅ እፈልጋለሁ. በሆትስፖት ውስጥ በጂአይቲ ስራዎ ታዋቂ ለመሆን በቅተዋል እና ወደ አዙል ተዛወሩ፣ እሱም የJVM ኩባንያም ነው። እኛ ግን ከሶፍትዌር ይልቅ ሃርድዌር ላይ እንሰራ ነበር። እናም በድንገት ወደ Big Data እና Machine Learning፣ እና ከዚያም ወደ ማጭበርበር ፈልጎ ተቀየሩ። ይህ እንዴት ሊሆን ቻለ? እነዚህ በጣም የተለያዩ የእድገት ቦታዎች ናቸው.

ገደል: ለረጅም ጊዜ ፕሮግራም አውጥቻለሁ እና ብዙ የተለያዩ ትምህርቶችን መውሰድ ችያለሁ። እና ሰዎች “ኦህ፣ አንተ ነህ JIT ለጃቫ!” ሲሉ ምንጊዜም አስቂኝ ነው። ከዚያ በፊት ግን አፕል በአንድ ወቅት ለሌዘር አታሚዎቹ ይጠቀምበት የነበረውን ቋንቋ - የ PostScript clone ላይ እሰራ ነበር። እና ከዚያ በፊት የ Forth ቋንቋ ትግበራ አደረግሁ። እኔ እንደማስበው ለእኔ የተለመደው ጭብጥ የመሳሪያ ልማት ነው. በሕይወቴ ሁሉ ሌሎች ሰዎች አሪፍ ፕሮግራሞቻቸውን የሚጽፉባቸውን መሣሪያዎች እየሠራሁ ነበር። ግን እኔ ደግሞ በስርዓተ ክወናዎች ፣ በአሽከርካሪዎች ፣ በከርነል ደረጃ አራሚዎች ፣ ለስርዓተ ክወና ልማት ቋንቋዎች ልማት ውስጥ ተሳትፌ ነበር ፣ ይህም ከቀላል ጀምሮ ነበር ፣ ግን ከጊዜ በኋላ የበለጠ እና የበለጠ የተወሳሰበ። ግን ዋናው ርዕስ አሁንም የመሳሪያዎች እድገት ነው. የሕይወቴ ትልቅ ክፍል በአዙል እና በፀሃይ መካከል አለፈ፣ እና ስለ ጃቫ ነበር። ነገር ግን ወደ ቢግ ዳታ እና የማሽን መማሪያ ስገባ የጌጥ ኮፍያዬን መልሼ ወደ ላይ አድርጌ “ኦህ፣ አሁን ቀላል ያልሆነ ችግር አለብን፣ እና ብዙ አስደሳች ነገሮች እየተከሰቱ እና ሰዎች ነገሮችን እያደረጉ ነው” አልኩት። ይህ ትልቅ የእድገት መንገድ ነው።

አዎ፣ የተከፋፈለ ኮምፒውተርን በእውነት እወዳለሁ። የመጀመሪያ ስራዬ በC, በማስታወቂያ ፕሮጀክት ላይ ተማሪ ሆኜ ነበር. ይህ በእውነተኛ የአናሎግ ተንታኝ የተመረተ የአናሎግ OCR መረጃን በሚሰበስብ በዚሎግ Z80 ቺፖች ላይ ማስላት ተሰራጭቷል። አሪፍ እና ሙሉ በሙሉ እብድ ርዕስ ነበር። ነገር ግን ችግሮች ነበሩ, የተወሰነ ክፍል በትክክል አልታወቀም, ስለዚህ ፎቶግራፍ አውጥተው አስቀድመው በአይናቸው ማንበብ እና የተናገረውን ሪፖርት ማድረግ ለሚችል ሰው ማሳየት አለብዎት, እና ስለዚህ ከውሂብ ጋር ስራዎች ነበሩ, እና እነዚህ ስራዎች የራሳቸው ቋንቋ ነበራቸው። ይህን ሁሉ የሚያስኬድ የኋላ ገፅ ነበር - Z80s በትይዩ ከ vt100 ተርሚናሎች ጋር እየሮጠ - በአንድ ሰው አንድ ፣ እና በ Z80 ላይ ትይዩ የፕሮግራም ሞዴል ነበር። በኮከብ ውቅር ውስጥ በሁሉም Z80s የተጋራ አንዳንድ የጋራ ማህደረ ትውስታ; የኋለኛው አውሮፕላንም ተጋርቷል፣ እና ግማሹ ራም በኔትወርኩ ውስጥ ተጋርቷል፣ እና ግማሹ ግላዊ ነው ወይም ወደ ሌላ ነገር ሄዷል። ትርጉም ያለው ውስብስብ ትይዩ የተከፋፈለ ስርዓት ከጋራ... ከፊል የተጋራ ማህደረ ትውስታ። ይህ መቼ ነበር ... በ 80 ዎቹ አጋማሽ ላይ የሆነ ቦታ, ማስታወስ እንኳን አልችልም. ከረጅም ጊዜ በፊት. 
አዎን፣ 30 ዓመታት በጣም ረጅም ጊዜ ነው ብለን እናስብ። ከተከፋፈለው ኮምፒውተር ጋር የተያያዙ ችግሮች ለረጅም ጊዜ ኖረዋል፤ ሰዎች ለረጅም ጊዜ ሲዋጉ ኖረዋል። Beowulf- ዘለላዎች. እንደዚህ ያሉ ዘለላዎች ይመስላሉ... ለምሳሌ፡- ኤተርኔት አለ እና የእርስዎ ፈጣን x86 ከዚህ ኤተርኔት ጋር የተገናኘ ነው፣ እና አሁን የውሸት የተጋራ ማህደረ ትውስታ ማግኘት ይፈልጋሉ፣ ምክንያቱም ማንም ሰው ያኔ የተከፋፈለ የኮምፒውተር ኮድ መስራት ስለማይችል በጣም ከባድ ነበር እና ስለዚህ እዚያ በ x86 ላይ ከጥበቃ ማህደረ ትውስታ ገጾች ጋር ​​የውሸት የተጋራ ማህደረ ትውስታ ነበር ፣ እና ወደዚህ ገጽ ከፃፉ ፣ ከዚያ ለሌሎች ፕሮሰሰሮች አንድ አይነት የጋራ ማህደረ ትውስታ ከደረሱ ከእርስዎ መጫን እንዳለበት እና እንደ ፕሮቶኮል የሆነ ነገር እንደነገርናቸው። የመሸጎጫ ወጥነት ታየ እና ለዚህ ሶፍትዌር። የሚስብ ጽንሰ-ሐሳብ. ትክክለኛው ችግር በእርግጥ ሌላ ነገር ነበር። ይህ ሁሉ ሠርቷል ፣ ግን በፍጥነት የአፈፃፀም ችግሮች አጋጥሟችኋል ፣ ምክንያቱም ማንም ሰው የአፈፃፀም ሞዴሎችን በበቂ ደረጃ አልተረዳም - ምን የማህደረ ትውስታ መዳረሻ ዘይቤዎች እንደነበሩ ፣ አንጓዎቹ ያለማቋረጥ እርስ በእርስ እንዳይጣመሩ እና ወዘተ.

በH2O ውስጥ ያመጣሁት ትይዩ የት እንደተደበቀ እና የት እንደሌለ የመወሰን ሃላፊነት ያለባቸው ገንቢዎቹ እራሳቸው ናቸው። ከፍተኛ አፈጻጸም ኮድ መፃፍ ቀላል እና ቀላል የሚያደርግ የኮዲንግ ሞዴል ይዤ መጣሁ። ነገር ግን ቀስ ብሎ የሚሄድ ኮድ መጻፍ አስቸጋሪ ነው, መጥፎ ይመስላል. ቀርፋፋ ኮድ ለመጻፍ በቁም ነገር መሞከር ያስፈልግዎታል፣ መደበኛ ያልሆኑ ዘዴዎችን መጠቀም ይኖርብዎታል። የፍሬን ኮድ በመጀመሪያ እይታ ይታያል። በዚህ ምክንያት, ብዙውን ጊዜ በፍጥነት የሚሰራ ኮድ ይጽፋሉ, ነገር ግን በጋራ ማህደረ ትውስታ ውስጥ ምን ማድረግ እንዳለቦት ማወቅ አለብዎት. ይህ ሁሉ ከትልቅ ድርድሮች ጋር የተሳሰረ ነው እና እዚያ ያለው ባህሪ በትይዩ ጃቫ ውስጥ ተለዋዋጭ ካልሆኑ ትላልቅ ድርድሮች ጋር ተመሳሳይ ነው። ማለቴ, ሁለት ክሮች ወደ ትይዩ ድርድር እንደሚጽፉ አስቡት, አንዱ ያሸንፋል, ሌላኛው ደግሞ በዚህ መሠረት ይሸነፋል, እና የትኛው እንደሆነ አታውቁም. ተለዋዋጭ ካልሆኑ, ትዕዛዙ የፈለጉትን ሊሆን ይችላል - እና ይሄ በትክክል ይሰራል. ሰዎች በእርግጥ የክዋኔዎች ቅደም ተከተል ያስባሉ፣ ተለዋዋጭ ሁኔታዎችን በትክክለኛው ቦታ ላይ ያስቀምጣሉ እና ከማስታወስ ጋር የተገናኙ የአፈጻጸም ችግሮችን በትክክለኛው ቦታ ላይ ይጠብቃሉ። ያለበለዚያ ፣ ሁሉም ውስብስብ ጉዳዮች ወዲያውኑ ትይዩ ይሆናሉ ብለው በማሰብ ከ 1 እስከ ኤን በ loops መልክ ኮድ ይጽፋሉ ፣ N አንዳንድ ትሪሊዮኖች ናቸው - እና እዚያ አይሰራም። ነገር ግን በH2O ይህ Java ወይም Scala አይደለም፤ ከፈለጉ “Java minus minus” ብለው ሊቆጥሩት ይችላሉ። ይህ በጣም ግልጽ የሆነ የፕሮግራም አወጣጥ ስልት ነው እና ቀላል ሲ ወይም ጃቫ ኮድ በ loops እና ድርድር ከመጻፍ ጋር ተመሳሳይ ነው። ግን በተመሳሳይ ጊዜ ማህደረ ትውስታ በቴራባይት ውስጥ ሊሰራ ይችላል. አሁንም H2O እጠቀማለሁ. በተለያዩ ፕሮጀክቶች ውስጥ ከጊዜ ወደ ጊዜ እጠቀማለሁ - እና አሁንም በጣም ፈጣኑ ነገር ነው, ከተወዳዳሪዎቹ በደርዘን የሚቆጠሩ ጊዜዎች ፈጣን ነው. Big Data በ columnar data እየሰሩ ከሆነ፣ H2Oን ለማሸነፍ በጣም ከባድ ነው።

ቴክኒካዊ ተግዳሮቶች

አንድሬይበሙያህ ሁሉ ትልቁ ፈተናህ ምንድን ነው?

ገደልእየተነጋገርን ያለነው ሾለ ጉዳዩ ቴክኒካዊ ወይም ቴክኒካዊ ያልሆነ ክፍል ነው? ትልቁ ፈተና ቴክኒካል አይደሉም እላለሁ። 
ስለ ቴክኒካዊ ችግሮች. በቃ አሸነፍኳቸው። ትልቁ ምን እንደሆነ እንኳን አላውቅም፣ ነገር ግን በጣም ትንሽ ጊዜ የወሰዱ፣ የአዕምሮ ትግል የወሰዱ አንዳንድ ቆንጆዎች ነበሩ። ወደ ፀሃይ ስሄድ ፈጣን ማጠናቀር እንደምሰራ እርግጠኛ ነበርኩ እና ብዙ አዛውንቶች በምላሹ በጭራሽ አይሳካልኝም አሉ። እኔ ግን ይህን መንገድ ተከትዬ፣ ወደ መዝገብ አከፋፋይ አዘጋጅ ጻፍኩ፣ እና በጣም ፈጣን ነበር። እንደ ዘመናዊው C1 ፈጣን ነበር, ነገር ግን አመዳጁ በዚያን ጊዜ በጣም ቀርፋፋ ነበር, እና በቅድመ-እይታ ይህ ትልቅ የውሂብ መዋቅር ችግር ነበር. የግራፊክ መመዝገቢያ አከፋፋይ ለመጻፍ ያስፈልገኝ ነበር እና በኮድ ገላጭነት እና ፍጥነት መካከል ያለውን አጣብቂኝ አልገባኝም, በዚያ ዘመን የነበረው እና በጣም አስፈላጊ ነበር. የዳታ አወቃቀሩ ብዙውን ጊዜ በዚያን ጊዜ በ x86s ላይ ካለው የመሸጎጫ መጠን ይበልጣል ፣ እና ስለሆነም ፣ መጀመሪያ ላይ የመመዝገቢያ አዳራሹ ከጠቅላላው የጅረት ጊዜ 5-10 በመቶውን ይሰራል ብዬ ካሰብኩ ፣ በእውነቱ እሱ ሆነ ። 50 በመቶ.

ጊዜ እያለፈ ሲሄድ አቀናባሪው የበለጠ ንፁህ እና ቀልጣፋ ሆነ፣በብዙ ሁኔታዎች አስፈሪ ኮድ ማመንጨት አቁሟል፣እና አፈፃፀሙ ከጊዜ ወደ ጊዜ C compiler የሚያወጣውን መምሰል ጀመረ።በእርግጥ እርስዎ C እንኳን የማያፋጥኑትን ቆሻሻ ካልፃፉ በስተቀር። . እንደ C ዓይነት ኮድ ከጻፉ፣ እንደ C ያለ አፈጻጸም በብዙ አጋጣሚዎች ያገኛሉ። እና በሄድክ ቁጥር ብዙ ጊዜ ባገኘህ ቁጥር ያለምንም ምልክት ከደረጃ C ጋር የሚገጣጠም ፣ የመመዝገቢያ አዳራሹ የተጠናቀቀ ነገር መምሰል ጀመረ። የተሻሉ ምርጫዎችን ለማድረግ በምደባው ላይ መስራቴን ቀጠልኩ። እሱ ቀርፋፋ እና ቀርፋፋ ሆነ፣ ነገር ግን ማንም ሊቋቋመው በማይችልበት ሁኔታ የተሻለ እና የተሻለ አፈጻጸም ሰጠ። ወደ መመዝገቢያ አከፋፋይ ውስጥ ዘልቄ አንድ ወር ሥራ እዛው መቅበር እችላለሁ እና በድንገት ሙሉው ኮድ 5% በፍጥነት ማከናወን ይጀምራል። ይህ ከጊዜ ወደ ጊዜ ተከሰተ እና የመመዝገቢያ አከፋፋይ የጥበብ ሥራ ሆነ - ሁሉም ሰው ወደደው ወይም ጠላው ፣ እና የአካዳሚው ሰዎች “ሁሉም ነገር ለምን በዚህ መንገድ ይከናወናል” በሚለው ርዕስ ላይ ጥያቄዎችን ጠየቁ ፣ ለምን አይሆንም የመስመር ቅኝትእና ልዩነቱ ምንድነው? መልሱ አሁንም አንድ ነው-በግራፍ ማቅለም ላይ የተመሰረተ አመዳደብ እና ከጠባቂ ኮድ ጋር በጣም ጥንቃቄ የተሞላበት ስራ ከድል መሳሪያ ጋር እኩል ነው, ማንም ሊያሸንፈው የማይችለው ምርጥ ጥምረት. እና ይህ በጣም ግልጽ ያልሆነ ነገር ነው። ሌሎች አቀናባሪው የሚያደርጋቸው ነገሮች በሙሉ በጥሩ ሁኔታ የተጠኑ ነገሮች ናቸው፣ ምንም እንኳን ወደ ስነ ጥበብ ደረጃም የደረሱ ናቸው። እኔ ሁል ጊዜ አቀናባሪውን ወደ የጥበብ ስራ ይለውጣሉ የተባሉትን ነገሮች አደርግ ነበር። ግን ከእነዚህ ውስጥ የትኛውም ያልተለመደ ነገር አልነበረም - ከመመዝገቢያ አዳራሹ በስተቀር። ዘዴው መጠንቀቅ ነው። መቁረጥ በተጫነ እና ይህ ከተከሰተ (ፍላጎት ካለው በበለጠ ዝርዝር ማብራራት እችላለሁ) ይህ ማለት በአፈፃፀሙ መርሃ ግብር ውስጥ በኪንክ ላይ የመውደቅ አደጋ ሳይኖር የበለጠ በኃይል መስመር ውስጥ መግባት ይችላሉ ማለት ነው ። በዛን ጊዜ፣ ሙሉ መጠን ያላቸው ኮምፕሌተሮች፣ በጩኸት እና በፉጨት የተንጠለጠሉ፣ የመመዝገቢያ አቅራቢዎች ያሏቸው፣ ነገር ግን ማንም ሊሰራው አልቻለም።

ችግሩ ወደ ውስጥ ማስገባት ፣ መጨመር እና መጨመር የተጋለጡ ዘዴዎችን ካከሉ ​​፣ ያገለገሉ እሴቶች ስብስብ ከመመዝገቢያዎች ብዛት ወዲያውኑ ይበልጣል እና እነሱን መቁረጥ አለብዎት። ወሳኝ ደረጃው ብዙውን ጊዜ የሚመጣው አመዳጁ ሲሰጥ ነው, እና አንድ ጥሩ እጩ ለፍሳሽ ሌላ ዋጋ አለው, አንዳንድ በአጠቃላይ የዱር እቃዎችን ይሸጣሉ. እዚህ የማስገባቱ ዋጋ ከዋናው ላይ የተወሰነውን ያጣሉ ፣ ለመደወል እና ለመቆጠብ ከራስ በላይ ፣ በውስጣቸው ያሉትን እሴቶች ማየት እና የበለጠ ሊያሻሽሏቸው ይችላሉ። የማስገቢያ ዋጋ ብዙ ቁጥር ያላቸው የቀጥታ እሴቶች መፈጠራቸው ነው ፣ እና የመመዝገቢያ መለያዎ ከሚያስፈልገው በላይ ከተቃጠለ ወዲያውኑ ያጣሉ ። ስለዚህ, አብዛኛዎቹ አከፋፋዮች ችግር አለባቸው-ኢንሊንንግ አንድ የተወሰነ መስመር ሲያልፍ በዓለም ላይ ያለው ነገር ሁሉ መቆረጥ ይጀምራል እና ምርታማነት በመጸዳጃ ቤት ውስጥ ሊወርድ ይችላል. ማቀናበሪያውን የሚተገብሩት አንዳንድ ሂውሪስቲክስ ይጨምራሉ፡ ለምሳሌ፡ ውስጠ መግባቱን ለማቆም፡ በበቂ ትልቅ መጠን በመጀመር፡ ምደባ ሁሉንም ነገር ያበላሻል። በአፈፃፀሙ ግራፍ ውስጥ አንድ ኪንክ የሚፈጠረው በዚህ መንገድ ነው - እርስዎ በመስመር ላይ ፣ በመስመር ላይ ፣ አፈፃፀሙ ቀስ በቀስ ያድጋል - እና ከዚያ ቡም! - በጣም ስለሰለፉ ልክ እንደ ፈጣን ጃክ ይወድቃል። ጃቫ ከመምጣቱ በፊት ሁሉም ነገር እንደዚህ ነበር የሚሰራው. ጃቫ ብዙ ተጨማሪ ውስጠ-ግንባር ይፈልጋል፣ስለዚህ አመዳጁን ከብልሽት ይልቅ ወደ ውጭ እንዲወጣ ለማድረግ የበለጠ ጠበኛ ማድረግ ነበረብኝ፣ እና ብዙ መስመር ውስጥ ከገቡ መፍሰስ ይጀምራል፣ነገር ግን “ከእንግዲህ ወዲህ መፍሰስ የለም” የሚለው ቅጽበት አሁንም ይመጣል። ይህ አስደሳች ምልከታ ነው እናም ከየትኛውም ቦታ ወደ እኔ መጣ ፣ ግልጽ አይደለም ፣ ግን ጥሩ ውጤት አስገኝቷል። ጨካኝ ኢንሊንንግ ጀመርኩ እና የጃቫ እና ሲ አፈጻጸም ጎን ለጎን ወደሚሰራባቸው ቦታዎች ወሰደኝ። እነሱ በጣም ቅርብ ናቸው - ከሲ ኮድ እና ከመሳሰሉት ነገሮች በጣም ፈጣን የሆነ የጃቫ ኮድ መጻፍ እችላለሁ ፣ ግን በአማካይ ፣ በነገሮች ትልቅ ምስል ፣ እነሱ በግምት ይነፃፀራሉ። እኔ እንደማስበው የዚህ ጥሩ ነገር አካል የምዝገባ አከፋፋይ ነው፣ ይህም በተቻለ መጠን በሞኝነት መስመር ውስጥ እንድገባ አስችሎኛል። የማየውን ሁሉ መስመር ውስጥ እሰጣለሁ። እዚህ ላይ ጥያቄው አመዳጁ በደንብ ይሰራል, ውጤቱም በጥበብ የሚሰራ ኮድ ነው. ይህ ትልቅ ፈተና ነበር፡ ይህን ሁሉ ለመረዳት እና እንዲሰራ።

ስለ መመዝገቢያ ድልድል እና ባለብዙ-ኮርስ ትንሽ

Владимирእንደ መመዝገቢያ ድልድል ያሉ ችግሮች እንደ ዘላለማዊ ፣ ማለቂያ የሌለው ርዕስ ይመስላሉ። እኔ የሚገርመኝ ተስፋ ሰጪ የሚመስል እና በተግባር የከሸፈ ሀሳብ ይኖር ይሆን?

ገደል: በእርግጠኝነት! የምዝገባ ድልድል NP-የተሟላ ችግርን ለመፍታት አንዳንድ ሂውሪስቲክስን ለማግኘት የሚሞክሩበት አካባቢ ነው። እና ፍጹም የሆነ መፍትሄ ማግኘት አይችሉም ፣ አይደል? ይህ በቀላሉ የማይቻል ነው. ተመልከት፣ ከጊዜ በፊት ማጠናቀር - እንዲሁም በደንብ አይሰራም። እዚህ ያለው ውይይት ስለ አንዳንድ አማካኝ ጉዳዮች ነው። ስለ ተለመደ አፈጻጸም፣ ሄዳችሁ ጥሩ ዓይነተኛ አፈጻጸም ነው ብለው የሚያስቡትን ነገር መለካት ትችላላችሁ - ለነገሩ ለማሻሻል እየሰሩ ነው! የምዝገባ ድልድል ስለ አፈጻጸም ሁሉ ርዕስ ነው። የመጀመሪያውን ፕሮቶታይፕ ካገኙ በኋላ የሚፈለገውን ይሠራል እና ይቀባዋል, የአፈፃፀም ስራ ይጀምራል. በደንብ ለመለካት መማር ያስፈልግዎታል. ለምን አስፈላጊ ነው? ግልጽ መረጃ ካሎት, የተለያዩ ቦታዎችን ማየት እና ማየት ይችላሉ: አዎ, እዚህ ረድቷል, ነገር ግን ሁሉም ነገር የተበላሸበት ቦታ ነው! አንዳንድ ጥሩ ሀሳቦች ይመጣሉ, አዲስ ሂውሪስቲክስን ይጨምራሉ እና በድንገት ሁሉም ነገር በአማካይ በትንሹ በተሻለ ሁኔታ መስራት ይጀምራል. ወይም አይጀምርም። እድገታችንን ከቀደመው አመዳደብ የሚለየው ለአምስት በመቶ አፈጻጸም የምንታገልባቸው ብዙ ጉዳዮች ነበሩኝ። እና ሁል ጊዜ እንደዚህ ይመስላል: አንድ ቦታ ያሸንፉ ፣ የሆነ ቦታ ይሸነፋሉ ። ጥሩ የአፈፃፀም ትንተና መሳሪያዎች ካሉዎት, የጠፉ ሀሳቦችን ማግኘት እና ለምን እንደወደቁ መረዳት ይችላሉ. ምናልባት ሁሉንም ነገር እንዳለ መተው፣ ወይም ምናልባት ይበልጥ ከባድ በሆነ መልኩ ለማስተካከል፣ ወይም ወደ ውጭ መውጣት እና ሌላ ነገር ማስተካከል ጠቃሚ ነው። የነገሮች ስብስብ ነው! ይህን አሪፍ ጠለፋ ሠራሁ፣ ግን እኔ ደግሞ ይሄኛው ያስፈልገኛል፣ እና ይሄኛው፣ እና ይሄኛው - እና የእነሱ አጠቃላይ ጥምረት አንዳንድ ማሻሻያዎችን ይሰጣል። እና ሎሪዎች ሊሳኩ ይችላሉ። ይህ በ NP-የተሟሉ ችግሮች ላይ የአፈፃፀም ስራ ተፈጥሮ ነው.

Владимир: አንድ ሰው በአዳራሾች ውስጥ እንደ መቀባት ያሉ ነገሮች ቀድሞውኑ የተፈታ ችግር እንደሆኑ ይሰማቸዋል. ደህና፣ በምትናገረው ነገር በመመዘን ለእርስዎ ተወስኗል፣ ስለዚህ ያኔም ዋጋ አለው...

ገደል: እንደዚሁ አልተፈታም። ወደ "የተፈታ" መቀየር ያለብዎት እርስዎ ነዎት. አስቸጋሪ ችግሮች አሉ እና መፍትሄ ያስፈልጋቸዋል. ይህ ከተጠናቀቀ በኋላ በምርታማነት ላይ ለመስራት ጊዜው አሁን ነው. ይህን ሾል በዚሁ መሰረት መቅረብ አለብህ - መለኪያዎችን አድርግ፣ መለኪያዎችን ሰብስብ፣ ወደ ቀድሞው ስሪት ስትመለስ የድሮው ጠለፋህ እንደገና መስራት ሲጀምር (ወይም በተቃራኒው ቆሞ) ሁኔታዎችን አብራራ። እና አንድ ነገር እስክታሳካ ድረስ ተስፋ አትቁረጥ። ቀደም ሲል እንደተናገርኩት, የማይሰሩ አሪፍ ሀሳቦች ካሉ, ነገር ግን በሃሳብ መዝገቦች ምደባ መስክ ውስጥ ማለቂያ የለውም. ለምሳሌ ሳይንሳዊ ጽሑፎችን ማንበብ ትችላለህ። ምንም እንኳን አሁን ይህ አካባቢ በጣም በዝግታ መንቀሳቀስ የጀመረ እና ከወጣትነቱ የበለጠ ግልጽ እየሆነ መጥቷል. ሆኖም ግን, በዚህ መስክ ውስጥ የሚሰሩ ስፍር ቁጥር የሌላቸው ሰዎች አሉ እና ሁሉም ሀሳቦቻቸው መሞከር ጠቃሚ ነው, ሁሉም በክንፎች ውስጥ እየጠበቁ ናቸው. እና እርስዎ ካልሞከሩዋቸው በስተቀር ምን ያህል ጥሩ እንደሆኑ ማወቅ አይችሉም። በአከፋፋይዎ ውስጥ ካሉት ሁሉም ነገሮች ጋር እንዴት በጥሩ ሁኔታ እንደሚዋሃዱ, ምክንያቱም አንድ አከፋፋይ ብዙ ነገሮችን ስለሚያደርግ, እና በእርስዎ ልዩ አመዳደብ ውስጥ ያሉ አንዳንድ ሃሳቦች አይሰሩም, ነገር ግን በሌላ አከፋፋይ ውስጥ በቀላሉ ይሠራሉ. ለአዳራሹ ለማሸነፍ ዋናው መንገድ ዘገምተኛውን ነገር ከዋናው መንገድ ውጭ በመሳብ እና በዝግታ መንገዶች ድንበሮች ላይ እንዲሰነጠቅ ማስገደድ ነው። ስለዚህ ጂሲ ለመሮጥ ከፈለግክ፣ ዘገምተኛውን መንገድ ውሰድ፣ ማመቻቸትን አድርግ፣ የተለየ ነገር ጣል፣ ያ ሁሉ ነገር - እነዚህ ነገሮች በአንጻራዊ ሁኔታ ብርቅ መሆናቸውን ታውቃለህ። እና እነሱ በእውነት ብርቅ ናቸው ፣ አጣራሁ። ተጨማሪ ሾል ይሰራሉ ​​እና በእነዚህ ቀርፋፋ መንገዶች ላይ ብዙ ገደቦችን ያስወግዳል፣ ነገር ግን ቀርፋፋ እና ብዙም የማይጓዙ በመሆናቸው ምንም ለውጥ አያመጣም። ለምሳሌ ባዶ ጠቋሚ - በጭራሽ አይከሰትም, አይደል? ለተለያዩ ነገሮች ብዙ መንገዶች ሊኖሩዎት ይገባል, ነገር ግን በዋናው ላይ ጣልቃ መግባት የለባቸውም. 

Владимирበአንድ ጊዜ በሺዎች የሚቆጠሩ ኮሮች ሲኖሩ ስለ መልቲ-ኮርስ ምን ያስባሉ? ይህ ጠቃሚ ነገር ነው?

ገደልየጂፒዩ ስኬት በጣም ጠቃሚ መሆኑን ያሳያል!

Владимир: በጣም ልዩ ናቸው። ስለ አጠቃላይ ዓላማ ማቀነባበሪያዎችስ?

ገደልደህና፣ ያ የአዙል የንግድ ሞዴል ነበር። መልሱ ሰዎች በእውነት ሊተነበይ የሚችል አፈጻጸምን በወደዱበት ዘመን ተመልሶ መጣ። በዚያን ጊዜ ትይዩ ኮድ መጻፍ አስቸጋሪ ነበር። የ H2O ኮድ ሞዴል በጣም ሊሰፋ የሚችል ነው, ነገር ግን አጠቃላይ ዓላማ ሞዴል አይደለም. ጂፒዩ ከመጠቀም ይልቅ ትንሽ የበለጠ አጠቃላይ ሊሆን ይችላል። እየተነጋገርን ያለነው ሾለ እንደዚህ ዓይነት ነገር የማዳበር ውስብስብነት ነው ወይስ ሾለ አጠቃቀሙ ውስብስብነት? ለምሳሌ አዙል አንድ አስደሳች ትምህርት አስተማረኝ፣ ይልቁንም ግልጽ ያልሆነ፡ ትናንሽ መሸጎጫዎች የተለመዱ ናቸው። 

በህይወት ውስጥ ትልቁ ፈተና

Владимир:- ቴክኒካል ያልሆኑ ተግዳሮቶችስ?

ገደልትልቁ ፈተና... ደግ እና ለሰዎች ጥሩ መሆን አልነበረም። እናም በዚህ ምክንያት ራሴን እጅግ በጣም በሚጋጩ ሁኔታዎች ውስጥ ያለማቋረጥ አገኘሁት። ነገሮች እየተሳሳቱ መሆናቸውን የማውቅባቸው፣ ነገር ግን በእነዚያ ችግሮች እንዴት ወደፊት መሄድ እንዳለብኝ የማያውቁ እና እነሱን መቋቋም ያቃታቸው። ለብዙ አሥርተ ዓመታት የዘለቀ ብዙ የረዥም ጊዜ ችግሮች በዚህ መንገድ ተነሱ። ጃቫ C1 እና C2 አቀናባሪዎች መኖራቸው የዚህ ቀጥተኛ ውጤት ነው። ለተከታታይ አስር ​​አመታት በጃቫ ውስጥ ባለ ብዙ ደረጃ ስብስብ አለመኖሩም ቀጥተኛ ውጤት ነው። እንዲህ ዓይነት ሥርዓት እንደሚያስፈልገን ግልጽ ነው, ነገር ግን ለምን እንዳልነበረ ግልጽ አይደለም. ከአንድ መሐንዲስ ጋር ችግር አጋጥሞኝ ነበር... ወይም የመሐንዲሶች ቡድን። በአንድ ወቅት በፀሃይ ቤት መሥራት ስጀምር... እሺ፣ ያኔ ብቻ ሳይሆን በአጠቃላይ በሁሉም ነገር ላይ የራሴ አስተያየት አለኝ። እናም ይህን እውነትህን ብቻ ወስደህ ወደፊት መንገር የምትችለው እውነት መስሎኝ ነበር። በተለይ ብዙ ጊዜ በሚያስደነግጥ ሁኔታ ትክክል ስለነበርኩ ነው። እና ይህን አካሄድ ካልወደዱ ... በተለይ በግልጽ የተሳሳቱ እና የማይረቡ ከሆኑ ... በአጠቃላይ, ጥቂት ሰዎች ይህን የመገናኛ ዘዴ ሊታገሱ ይችላሉ. ምንም እንኳን አንዳንዶች እንደ እኔ ቢችሉም። ሕይወቴን በሙሉ በሜሪቶክራሲያዊ መርሆዎች ላይ ገንብቻለሁ። አንድ የተሳሳተ ነገር ካሳየኸኝ ወዲያው ዞር ብዬ እላለሁ፡ ከንቱ ነገር ተናግረሃል። በተመሳሳይ ጊዜ, በእርግጥ, ይቅርታ እጠይቃለሁ እና ያ ሁሉ, ጠቃሚ የሆኑትን, ካለ, እና ሌሎች ትክክለኛ እርምጃዎችን እወስዳለሁ. በሌላ በኩል፣ በሚያስደነግጥ ሁኔታ ከጠቅላላው ጊዜ ውስጥ ትልቅ መቶኛ ስለመሆኑ በሚያስደነግጥ ሁኔታ ትክክል ነኝ። እና ከሰዎች ጋር ባለው ግንኙነት በጣም ጥሩ አይሰራም። ቆንጆ ለመሆን እየሞከርኩ አይደለም, ነገር ግን ጥያቄውን በድፍረት እጠይቃለሁ. "ይህ በጭራሽ አይሰራም ምክንያቱም አንድ, ሁለት እና ሶስት." እና እነሱ እንደ “ኦህ!” ነበሩ ። ምናልባት ችላ የተባሉ ሌሎች መዘዞች ነበሩ፡ ለምሳሌ፡ ከባለቤቴ ጋር ለመፋታት እና ከዚያ በኋላ ለአስር አመታት የመንፈስ ጭንቀት ያደረሱት።

ተግዳሮት ከሰዎች ጋር የሚደረግ ትግል ነው፣ ምን ማድረግ እንደሚችሉ ወይም እንደማይችሉ፣ ምን አስፈላጊ እና የማይጠቅመውን በመመልከታቸው ነው። ስለ ኮድ አሰጣጥ ዘይቤ ብዙ ፈተናዎች ነበሩ። እኔ አሁንም ብዙ ኮድ እጽፋለሁ, እና በእነዚያ ቀናት ውስጥ በአንዱ ላይ ከማተኮር ይልቅ ብዙ ትይዩ ስራዎችን እየሠራሁ እና ደካማ እያደረግሁ ስለነበር እንኳ ፍጥነት መቀነስ ነበረብኝ. ወደ ኋላ መለስ ብዬ ሳስበው ግማሹን ኮድ ለጃቫ JIT ትዕዛዝ ማለትም ለC2 ትዕዛዝ ጻፍኩ። ቀጣዩ ፈጣኑ ኮዴር ግማሹን በዝግታ፣ የሚቀጥለው ግማሹን በዝግታ ጻፈ፣ እና እሱ ገላጭ ውድቀት ነበር። በዚህ ረድፍ ውስጥ ያለው ሰባተኛው ሰው በጣም በጣም ቀርፋፋ ነበር - ሁልጊዜም ይከሰታል! ብዙ ኮድ ነካሁ። ማን የፃፈውን ተመለከትኩኝ ፣ ያለ ምንም ልዩነት ፣ ኮዳቸውን እያየሁ ፣ እያንዳንዳቸውን ገምግሜ ፣ እና አሁንም ከነሱ የበለጠ እራሴን መፃፍ ቀጠልኩ። ይህ አካሄድ ከሰዎች ጋር በደንብ አይሰራም። አንዳንድ ሰዎች ይህን አይወዱም። እና ሊቋቋሙት በማይችሉበት ጊዜ, ሁሉም ዓይነት ቅሬታዎች ይጀምራሉ. ለምሳሌ አንድ ጊዜ ኮድ ማድረጉን እንዳቆም ተነገረኝ ምክንያቱም ብዙ ኮድ ስለምጽፍ እና ቡድኑን አደጋ ላይ እየጣለ ነው፣ እና ሁሉም ነገር ለእኔ እንደ ቀልድ መሰለኝ፡ ወገኔ፣ የቀረው ቡድን ከጠፋ እና እኔ ኮድ መፃፍ ከቀጠልኩ፣ አንተ ግማሽ ቡድኖችን ብቻ ነው የሚያጣው። በሌላ በኩል፣ እኔ ኮድ መፃፍ ከቀጠልኩ እና የቡድኑን ግማሹን ካጣህ፣ ያ በጣም መጥፎ አስተዳደር ይመስላል። ስለሱ አስቤው አላውቅም፣ ስለሱም ተናግሬው አላውቅም፣ ግን አሁንም በጭንቅላቴ ውስጥ የሆነ ቦታ ነበር። ሀሳቡ በአእምሮዬ ጀርባ እየተሽከረከረ ነበር፡ “ሁላችሁም እየቀለዳችሁኝ ነው?” ስለዚህ ትልቁ ችግር እኔ እና ከሰዎች ጋር ያለኝ ግንኙነት ነበር። አሁን ራሴን በደንብ ተረድቻለሁ ፣ ለረጅም ጊዜ የፕሮግራም አውጪዎች ቡድን መሪ ነበርኩ ፣ እና አሁን በቀጥታ ለሰዎች እናገራለሁ: ታውቃላችሁ ፣ እኔ ማን እንደሆንኩ እና ከእኔ ጋር መገናኘት አለባችሁ - ብቆም ምንም ችግር የለውም እዚህ? እና እሱን መቋቋም ሲጀምሩ, ሁሉም ነገር ሠርቷል. እንደ እውነቱ ከሆነ እኔ መጥፎም ጥሩም አይደለሁም, ምንም መጥፎ ዓላማዎች ወይም ራስ ወዳድነት ምኞቶች የሉኝም, የእኔ ማንነት ብቻ ነው, እና በሆነ መንገድ ከእሱ ጋር መኖር አለብኝ.

አንድሬይ: በቅርብ ጊዜ ሁሉም ሰው ስለራስ ግንዛቤ ለመግቢያዎች እና በአጠቃላይ ለስላሳ ችሎታዎች ማውራት ጀመረ. ስለዚህ ጉዳይ ምን ማለት ይችላሉ?

ገደል: አዎ፣ ከባለቤቴ ጋር በመፋቴ የተማርኩት ማስተዋልና ትምህርት ነው። ከፍቺው የተማርኩት እራሴን መረዳቱን ነው። ሌሎች ሰዎችን መረዳት የጀመርኩት በዚህ መንገድ ነው። ይህ መስተጋብር እንዴት እንደሚሰራ ይረዱ። ይህ እርስ በርስ ግኝቶችን አስገኝቷል. እኔ ማን እንደሆንኩ እና ምን እንደምወክለው ግንዛቤ ነበር። ምን እያደረግኩ ነው፡ ወይ በስራው ተጠምጃለሁ፣ ወይም ግጭትን እያስወገድኩ ነው፣ ወይም ሌላ ነገር - እና ይህ ራስን የማወቅ ደረጃ ራሴን ለመቆጣጠር ይረዳል። ከዚህ በኋላ ሁሉም ነገር በጣም ቀላል ይሆናል. በራሴ ውስጥ ብቻ ሳይሆን በሌሎች ፕሮግራመሮችም ላይ ያገኘሁት አንድ ነገር በስሜታዊ ውጥረት ውስጥ በምትሆንበት ጊዜ ሃሳቦችን በቃላት መግለጽ አለመቻል ነው። ለምሳሌ፣ እዚያ ተቀምጠህ ኮድ እያስቀመጥክ፣ ፍሰት ባለበት ሁኔታ ውስጥ ነው፣ እና ከዛ ወደ አንተ እየሮጡ መጥተው የሆነ ነገር እንደተሰበረ እና አሁን ከባድ እርምጃዎች በአንተ ላይ ይወሰዳሉ ብለው በጅብ መጮህ ይጀምራሉ። እና በስሜታዊ ውጥረት ውስጥ ስለሆኑ አንድ ቃል መናገር አይችሉም. የተገኘው እውቀት ለዚህ ጊዜ እንዲዘጋጁ, እንዲድኑ እና ወደ ማፈግፈሻ እቅድ እንዲሄዱ ይፈቅድልዎታል, ከዚያ በኋላ አንድ ነገር ማድረግ ይችላሉ. ስለዚህ አዎ፣ ሁሉም እንዴት እንደሚሰራ ማወቅ ሲጀምሩ፣ ህይወትን የሚቀይር ትልቅ ክስተት ነው። 
እኔ ራሴ ትክክለኛዎቹን ቃላት ማግኘት አልቻልኩም, ነገር ግን የእርምጃዎችን ቅደም ተከተል አስታወስኩ. ነጥቡ ይህ ምላሽ የቃልን ያህል አካላዊ ነው, እና ቦታ ያስፈልግዎታል. እንደዚህ ያለ ቦታ, በዜን ስሜት. በትክክል መገለጽ ያለበት ይህ ነው ፣ እና ከዚያ ወዲያውኑ ወደ ጎን ይሂዱ - በአካል ብቻ ይራቁ። በቃላት ዝም ካልኩኝ ሁኔታውን በስሜታዊነት ማስተናገድ እችላለሁ። አድሬናሊን ወደ አእምሮዎ ሲደርስ ወደ ውጊያ ወይም የበረራ ሁኔታ ሲቀይር ምንም ማለት አይችሉም ፣ አይሆንም - አሁን እርስዎ ደደብ ፣ ጅራፍ መሐንዲስ ነዎት ፣ ጥሩ ምላሽ የመስጠት ወይም ጥቃቱን እንኳን ማቆም የማይችሉ ፣ እና አጥቂው ነፃ ነው ። በተደጋጋሚ ለማጥቃት. መጀመሪያ እንደገና እራስህ መሆን አለብህ፣ እንደገና መቆጣጠር አለብህ፣ ከ"ውጊያ ወይም በረራ" ሁነታ ውጣ።

ለዚህ ደግሞ የቃል ቦታ ያስፈልገናል. ነፃ ቦታ ብቻ። ምንም ነገር ከተናገሩ በትክክል በትክክል መናገር ይችላሉ እና ከዚያ ይሂዱ እና ለራስዎ "ቦታ" ይፈልጉ: በፓርኩ ውስጥ በእግር ይራመዱ, እራስዎን በመታጠቢያ ገንዳ ውስጥ ይዝጉ - ምንም አይደለም. ዋናው ነገር ከዚያ ሁኔታ ለጊዜው ማቋረጥ ነው. ቢያንስ ለጥቂት ሰኮንዶች እንዳጠፉ ወዲያውኑ መቆጣጠሪያው ይመለሳል, በንቃተ-ህሊና ማሰብ ይጀምራሉ. "እሺ፣ እኔ ሞኝ አይደለሁም፣ ሞኝ ነገሮችን አላደርግም፣ በጣም ጠቃሚ ሰው ነኝ።" አንዴ እራስህን ማሳመን ከቻልክ ወደሚቀጥለው ደረጃ ለመሸጋገር ጊዜው አሁን ነው፡ የሆነውን መረዳት። ጥቃት ደርሶብሃል፣ ጥቃቱ እርስዎ ካልጠበቁት ቦታ ነው የመጣው፣ ይህ ሐቀኝነት የጎደለው፣ ወራዳ ድብቅ ነበር። ይህ መጥፎ ነው። ቀጣዩ እርምጃ አጥቂው ለምን ይህን እንደፈለገ መረዳት ነው። እውነት ለምን? ምናልባት እሱ ራሱ ስለተናደደ ነው? ለምን ያበደው? ለምሳሌ ራሱን ስለሸረሸረው እና ኃላፊነት ሊቀበል ስላልቻለ? ሁኔታውን በሙሉ በጥንቃቄ መያዝ የሚቻልበት መንገድ ይህ ነው። ነገር ግን ይህ ለማንቀሳቀስ፣ የቃል ቦታን ይፈልጋል። የመጀመሪያው እርምጃ የቃል ግንኙነትን ማቋረጥ ነው። በቃላት መወያየትን ያስወግዱ. ይሰርዙት፣ በተቻለ ፍጥነት ይራመዱ። የስልክ ውይይት ከሆነ፣ ዝም ብለህ ስልኩን ዘጋው - ይህ ከቀድሞ ባለቤቴ ጋር በመነጋገር የተማርኩት ችሎታ ነው። ውይይቱ የትም ጥሩ ካልሆነ "ደህና ሁን" ይበሉ እና ስልኩን ይዝጉ። ከስልክኛው ወገን፡ “ብላህ blah” ትመልሳለህ፡ “አዎ፣ ባይ!” እና ስልኩን ይዝጉ። ዝም ብለህ ውይይቱን ጨርሰሃል። ከአምስት ደቂቃዎች በኋላ ፣ በማስተዋል የማሰብ ችሎታ ወደ እርስዎ ሲመለስ ፣ ትንሽ ቀዝቅዘዋል ፣ ስለ ሁሉም ነገር ፣ ምን እንደ ሆነ እና ከዚያ በኋላ ስለሚሆነው ነገር ማሰብ ይቻል ይሆናል። እና በስሜታዊነት ብቻ ምላሽ ከመስጠት ይልቅ አሳቢ የሆነ ምላሽ ማዘጋጀት ይጀምሩ። ለእኔ፣ እራስን የማወቅ ግስጋሴው ስሜታዊ ውጥረት ሲያጋጥም መናገር የማልችል መሆኑ ነው። ከዚህ ሁኔታ መውጣት, ለችግሮች እንዴት ምላሽ መስጠት እና ማካካሻ ማሰብ እና ማቀድ - መናገር በማይችሉበት ጊዜ እነዚህ ትክክለኛ እርምጃዎች ናቸው. በጣም ቀላሉ መንገድ ስሜታዊ ውጥረት እራሱን ከሚገለጥበት ሁኔታ መሸሽ እና በቀላሉ በዚህ ጭንቀት ውስጥ መሳተፍን ማቆም ነው. ከዚያ በኋላ ማሰብ ትችላላችሁ፣ ስታስቡ፣ መናገር ትችላላችሁ፣ ወዘተ.

በነገራችን ላይ, በፍርድ ቤት ውስጥ, ተቃዋሚው ጠበቃ ይህን ሊያደርግልዎ ይሞክራል - አሁን ለምን እንደሆነ ግልጽ ነው. ምክንያቱም እሱ አንተን ለማፈን ችሎታ ስላለው ለምሳሌ ስምህን መጥራት እንኳን አትችልም። በእውነተኛ ስሜት፣ መናገር አትችልም። ይህ ካጋጠመህ እና የቃላት ጦርነት በሚካሄድበት ቦታ፣ እንደ ፍርድ ቤት ባለ ቦታ እራስህን እንደምታገኝ ካወቅክ ከጠበቃህ ጋር መምጣት ትችላለህ። ጠበቃው ለእርስዎ ይቆማል እና የቃላት ጥቃቱን ያቆማል, እና ሙሉ በሙሉ ህጋዊ በሆነ መንገድ ያደርገዋል, እና የጠፋው የዜን ቦታ ወደ እርስዎ ይመለሳል. ለምሳሌ ፣ ለቤተሰቤ ሁለት ጊዜ መደወል ነበረብኝ ፣ ዳኛው ስለዚህ ጉዳይ በጣም ተግባቢ ነበር ፣ ግን ተቃዋሚው ጠበቃ ጮህኩኝ እና ጮኸብኝ ፣ ምንም እንኳን በቃላት አነጋገር አልቻልኩም። በእነዚህ አጋጣሚዎች አስታራቂን መጠቀም ለእኔ የበለጠ ይሰራል። ሸምጋዩ በተከታታይ ዥረት ውስጥ በአንተ ላይ የሚፈሰውን ጫና ሁሉ ያቆማል፣ አስፈላጊውን የዜን ቦታ ታገኛለህ፣ እናም የመናገር ችሎታው ይመለሳል። ይህ ብዙ የሚጠናበት፣ በራስህ ውስጥ ብዙ የሚታወቅበት አጠቃላይ የእውቀት ዘርፍ ነው፣ እና ይህ ሁሉ ለተለያዩ ሰዎች የተለየ ወደ ከፍተኛ ደረጃ ስልታዊ ውሳኔዎች ይለወጣል። አንዳንድ ሰዎች ከላይ የተገለጹት ችግሮች አያጋጥሟቸውም፤ አብዛኛውን ጊዜ ፕሮፌሽናል ሻጭ የሆኑ ሰዎች የላቸውም። በቃላት ኑሮአቸውን የሚመሩ እነዚህ ሁሉ - ታዋቂ ዘፋኞች፣ ገጣሚዎች፣ የሃይማኖት መሪዎች እና ፖለቲከኞች ሁል ጊዜ የሚናገሩት ነገር አላቸው። እንደዚህ አይነት ችግሮች የላቸውም, ግን እኔ አደርጋለሁ.

አንድሬይ: ነበር... ያልተጠበቀ ነበር። በጣም ጥሩ፣ ብዙ አውርተናል እና ይህን ቃለ መጠይቅ የምናጠናቅቅበት ጊዜ ነው። በኮንፈረንሱ ላይ በእርግጠኝነት እንገናኛለን እና ይህን ውይይት መቀጠል እንችላለን. ሃይድራ እንገናኝ!

ከጁላይ 2019-11, 12 በሴንት ፒተርስበርግ በሚካሄደው የሃይድራ 2019 ኮንፈረንስ ላይ ከክሊፍ ጋር ያለዎትን ውይይት መቀጠል ይችላሉ። ዘገባ ይዞ ይመጣል "የአዙል ሃርድዌር የግብይት ማህደረ ትውስታ ልምድ". ትኬቶችን መግዛት ይቻላል በይፋዊው ድርጣቢያ ላይ።.

ምንጭ: hab.com

አስተያየት ያክሉ