2016-09-14 8 views
11

मैं कई स्थानों पर सुस्ती का सामना करना पड़ रहा एसबीटीक्यों Scala's-एसबीटी बहुत धीमी है

  1. Intellij में एसबीटी परियोजना आयात कर रहा है के साथ काम करते हुए - लगभग (8-10 मिनट)।
  2. एसबीटी परियोजना के इंटेलिज में इंडेक्सिंग।
  3. sbt (टर्मिनल में यह आदेश लेता है - लगभग (2-3 मिनट))।
  4. compile (एसबीटी खोल में यह आदेश लेता है - लगभग (3-5 मिनट))।
    5. जब भी मैं build.sbt फ़ाइल संशोधित करता हूं तो प्रोजेक्ट रीफ्रेश 3-4 मिनट लेता है।

मुझे और अधिक जगहों की जांच करने की आवश्यकता है लेकिन निर्दिष्ट बिंदुओं से ऊपर मैं अक्सर सामना कर रहा हूं। ?

एसबीटी या स्काला से संबंधित इस समस्या है, हाँ कैसे एक ही

नोट को हल करने हैं: मैं अच्छा इंटरनेट कनेक्शन है तो यह नेटवर्क समस्या नहीं हो सकता।

मेरे स्काला कक्षा फ़ाइल:

import org.scalatest._ 

class TaskManagerSpec extends FlatSpec with Matchers { 

    "An empty tasks list" should "have 0 tasks due today" in { 
    val tasksDueToday = TaskManager.allTasksDueToday(List()) 
    tasksDueToday should have length 0 
    } 

} 

build.sbt

name := "tasky" 
version := "0.1.0" 
scalaVersion := "2.11.6" 
resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases" 
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test" 
+0

मुझे लगता है कि अगर हमें इसके बारे में प्रश्नों का उत्तर देना है तो आपको हमें अपना कोड दिखाना होगा। –

+0

@ChrisMartin हो गया! –

+1

यह पूरी परियोजना है? मुझे लगता है कि एसबीटी फाइलें अधिक प्रासंगिक होंगी। क्या यह एक बहु-मॉड्यूल परियोजना है? –

उत्तर

0

एसबीटी धीमी है क्योंकि संकलित आंतरिक कोड है कि स्काला और स्काला संकलन में किया जाता है धीमी है क्योंकि एक जटिल भाषा (लेकिन एक बार स्कैला संकलित हो जाने पर रनटाइम पर बहुत तेज़ होता है)

एसबीटी सर्वर के साथ एसबीटी 1.x संस्करण का उपयोग करते समय आप एसबीटी को बढ़ावा दे सकते हैं। एसबीटी सर्वर आपको कमांड लाइन और आईडीई के बीच साझा किए गए केवल एक एसबीटी उदाहरण का उपयोग करने की अनुमति देता है। यह बहुत उपयोगी है, यहां अधिक जानकारी है: https://www.scala-sbt.org/1.x/docs/sbt-server.html

अन्य निर्माण उपकरण का उपयोग करने के लिए भी हल्का है, जो पैंट्स की तरह हल्के हैं, जो कि पाइथन पर आधारित है जिसका अर्थ है और बहुत तेज़ है। अधिक जानकारी: https://www.pantsbuild.org/

नोट: पैनट्स दस्तावेज और समुदाय एसबीटी के साथ उतना व्यापक नहीं है, लेकिन कोशिश के लायक है, पैनट्स के साथ अद्भुत चीजें हो सकती हैं।

नोट 2: यदि आपका कोड बेस बड़ा है तो इसे संकलित/निर्माण करने में बहुत समय लगेगा, इसलिए वास्तविक कोड देखने के लिए अपने कोड और कलाकृतियों को वृद्धिशील/कैश किए गए टुकड़े/उपप्रोजेक्ट के रूप में व्यवस्थित करने के लिए सलाह दें।

संबंधित मुद्दे