คำถามติดแท็ก v8

V8 เป็นเอ็นจิ้น JavaScript โอเพ่นซอร์สของ Google

10
Node.js คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันไม่ได้อย่างเต็มที่ได้รับสิ่งที่Node.jsเป็นข้อมูลเกี่ยวกับ อาจเป็นเพราะฉันเป็นนักพัฒนาแอปพลิเคชันทางธุรกิจบนเว็บเป็นหลัก มันคืออะไรและการใช้งานของมันคืออะไร? ความเข้าใจของฉันคือ: รูปแบบการเขียนโปรแกรมเป็นเหตุการณ์ที่ขับเคลื่อนด้วยโดยเฉพาะอย่างยิ่งวิธีที่จะจัดการI / O มันใช้JavaScriptและแยกวิเคราะห์เป็นV8 สามารถใช้เพื่อสร้างแอปพลิเคชันเซิร์ฟเวอร์พร้อมกันได้อย่างง่ายดาย ความเข้าใจของฉันถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นสิ่งที่เป็นประโยชน์ของ I / O เหตุการณ์ที่เกิดขึ้นมันเป็นสิ่งที่มากขึ้นสำหรับสิ่งที่เกิดขึ้นพร้อมกัน? นอกจากนี้ทิศทางของ Node.js ที่จะกลายเป็นเฟรมเวิร์กเช่นโมเดลการเขียนโปรแกรม JavaScript ที่ใช้ (ตาม V8) คืออะไร?

4
เหตุใด <= ช้ากว่า <โดยใช้ข้อมูลโค้ดนี้ใน V8
ฉันกำลังอ่านสไลด์การ จำกัด Javascript Speed ​​กับ V8และมีตัวอย่างเช่นโค้ดด้านล่าง ฉันไม่สามารถเข้าใจได้ว่าทำไม&lt;=ช้ากว่า&lt;ในกรณีนี้ใครสามารถอธิบายได้บ้าง ความคิดเห็นใด ๆ ที่ชื่นชม ช้า: this.isPrimeDivisible = function(candidate) { for (var i = 1; i &lt;= this.prime_count; ++i) { if (candidate % this.primes[i] == 0) return true; } return false; } (เคล็ดลับ: จำนวนเฉพาะเป็นอาร์เรย์ของความยาวจำนวนมาก) ได้เร็วขึ้น: this.isPrimeDivisible = function(candidate) { for (var i = 1; i …
166 javascript  v8 

1
ฟังก์ชัน util.toFastProperties ของ Bluebird ทำให้คุณสมบัติของวัตถุ“ เร็ว” อย่างไร
ในutil.jsไฟล์ของ Bluebird มันมีฟังก์ชั่นดังต่อไปนี้: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } ด้วยเหตุผลบางอย่างมีคำสั่งหลังจากฟังก์ชันส่งคืนซึ่งฉันไม่แน่ใจว่าทำไมถึงมี เช่นกันดูเหมือนว่าเป็นเรื่องที่ไตร่ตรองอย่างที่ผู้เขียนได้ทำการเตือน JSHint เกี่ยวกับเรื่องนี้: เข้าไม่ถึง 'eval' หลังจาก 'return' (W027) ฟังก์ชันนี้ทำหน้าที่อะไรกันแน่? ไม่util.toFastPropertiesจริงๆทำให้คุณสมบัติของวัตถุ "เร็วขึ้น"? ฉันค้นหาที่เก็บข้อมูล GitHub ของ Bluebird สำหรับความคิดเห็นใด ๆ ในซอร์สโค้ดหรือคำอธิบายในรายการปัญหาของพวกเขา แต่ฉันไม่พบอะไรเลย

2
คุณลักษณะ ECMAScript 6 มีอยู่ใน Node.js 0.12
ปล่อยมั่นคงใหม่ Node.js (0.12) มีที่ดินเมื่อเร็ว ๆ นี้ที่มีการอัพเกรดเครื่องยนต์ JavaScript ของ Google v8, v3.28.73 ฟีเจอร์ ECMAScript 6 ปัจจุบันมีอยู่ใน Node.js โดยไม่ใช้--harmonyแฟล็ก ฉันได้ตรวจสอบหลายเว็บไซต์ที่อ้างว่ามีรายชื่อของคุณสมบัติ ES 6 แต่ทุกเว็บไซต์ดูล้าสมัย - ส่วนใหญ่เด่นชัดที่สุดตารางนี้ ( อัปเดต แล้ว: อัปเดตตอนนี้ด้วยสถานะ Node.js ปัจจุบันเท่ากับ 0.12 ) เนื่องจากคุณสมบัติหลายรายการระบุว่า ต้องมีการ--harmonyตั้งค่าสถานะในขณะที่ฉันพบว่าบางส่วนของพวกเขาถูกเปิดใช้งานโดยค่าเริ่มต้น (แผนที่, ชุด, สัญลักษณ์, เพื่อชื่อไม่กี่) ปรับปรุง : ตารางเฉพาะโหนดได้ถูกทำให้พร้อมใช้งาน นอกจากนี้การลอง google ข้อมูลนี้เพื่อใช้กับเอ็นจิ้น v8 นั้นให้ข้อมูลที่ทันสมัยเกินไป - v8 รีลีสปัจจุบันคือ4.2. *ซึ่งค่อนข้างล้ำหน้ากว่าสิ่งที่ Node.js …


5
เมื่อใดที่จะใช้ next () และ return next () ใน Node.js
สถานการณ์จำลอง : พิจารณาสิ่งต่อไปนี้เป็นส่วนหนึ่งของรหัสจากโหนดเว็บแอป app.get('/users/:id?', function(req, res, next){ var id = req.params.id; if (id) { // do something } else { next(); //or return next(); } }); ฉบับที่ : ฉันกำลังตรวจสอบที่หนึ่งที่จะไปมีเพียงหรือnext() return next()โค้ดตัวอย่างด้านบนทำงานได้เหมือนกันทั้งสอง &amp; ไม่แสดงความแตกต่างในการเรียกใช้ คำถาม : ใครบางคนสามารถให้ความกระจ่างเกี่ยวกับเรื่องนี้เมื่อใดควรใช้next()และเมื่อใดreturn next()และมีความแตกต่างที่สำคัญหรือไม่?
136 node.js  express  connect  v8 

4
ค่าส่งคืนของ node.js process.memoryUsage () คืออะไร
จากเอกสารอย่างเป็นทางการ (ที่มา ): process.memoryUsage () ส่งคืนวัตถุที่อธิบายการใช้หน่วยความจำของกระบวนการโหนดที่วัดเป็นไบต์ var util = require('util'); console.log(util.inspect(process.memoryUsage())); สิ่งนี้จะสร้าง: { rss: 4935680, heapTotal: 1826816, heapUsed: 650472 } heapTotal และ heapUsed อ้างถึงการใช้หน่วยความจำของ V8 สิ่งที่ไม่RSS , heapTotalและheapUsedยืน? อาจดูเหมือนคำถามเล็กน้อย แต่ฉันได้รับการมองและฉันไม่สามารถหาคำตอบที่ชัดเจนจนถึงขณะนี้
132 node.js  v8 

13
รัน JavaScript โดยไม่มีเบราว์เซอร์?
ฉันกำลังมองหาการเขียนโปรแกรม Javascript โดยไม่มีเบราว์เซอร์ ฉันต้องการเรียกใช้สคริปต์จากบรรทัดคำสั่ง Linux หรือ Mac OS X เหมือนกับที่เราใช้ภาษาสคริปต์อื่น ๆ (ruby, php, perl, python ... ) $ javascript my_javascript_code.js ฉันมองไปที่สไปเดอร์ลิง (Mozilla) และ v8 (Google) แต่ทั้งคู่ดูเหมือนจะฝังตัว มีใครที่ใช้ Javascript เป็นภาษาสคริปต์ที่จะดำเนินการจากบรรทัดคำสั่งหรือไม่ ถ้าใครอยากรู้ว่าทำไมฉันกำลังมองนี้ฉันได้รับการ poking รอบNode.js ประสิทธิภาพของ node.js ทำให้ฉันสงสัยว่าจาวาสคริปต์อาจเป็นภาษาสคริปต์ที่ทำงานได้สำหรับการประมวลผลข้อมูลขนาดใหญ่


1
เหตุใด Math.pow () (บางครั้ง) จึงไม่เท่ากับ ** ใน JavaScript
ฉันเพิ่งค้นพบคุณลักษณะ ECMAScript 7 a**bเป็นทางเลือกสำหรับMath.pow(a,b)( อ้างอิง MDN ) และพบการสนทนาในโพสต์นั้นซึ่งเห็นได้ชัดว่าพวกเขาทำงานแตกต่างกัน ฉันได้ทดสอบใน Chrome 55 และสามารถยืนยันได้ว่าผลลัพธ์แตกต่างกัน Math.pow(99,99) ผลตอบแทน 3.697296376497263e+197 แต่ทว่า 99**99 ผลตอบแทน 3.697296376497268e+197 ดังนั้นการเข้าสู่ระบบความแตกต่างของผลในการMath.pow(99,99) - 99**99-5.311379928167671e+182 จนถึงตอนนี้อาจกล่าวได้ว่าเป็นเพียงการนำไปใช้งานอื่น แต่การรวมไว้ในฟังก์ชั่นจะทำงานแตกต่างกันอีกครั้ง: function diff(x) { return Math.pow(x,x) - x**x; } เรียกร้องผลตอบแทนdiff(99)0 เหตุใดจึงเกิดขึ้น ดังที่xszabojชี้ให้เห็นปัญหานี้สามารถ จำกัด ให้แคบลงได้: var x = 99; x**x - 99**99; // Returns -5.311379928167671e+182

4
เหตุใดค่าของ typeof null จึงเปลี่ยนไปภายในลูป
การเรียกใช้ข้อมูลโค้ดนี้ในคอนโซล Chrome: function foo() { return typeof null === 'undefined'; } for(var i = 0; i &lt; 1000; i++) console.log(foo()); เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายข้อมูลโค้ด ควรพิมพ์ 1,000 ครั้งfalseแต่ในบางเครื่องจะพิมพ์falseซ้ำหลายครั้งจากนั้นtrueส่วนที่เหลือ เหตุใดจึงเกิดขึ้น มันเป็นเพียงข้อผิดพลาด?
109 javascript  v8 

4
ประสิทธิภาพของ Objects / Arrays ใน JavaScript เป็นอย่างไร? (เฉพาะสำหรับ Google V8)
ประสิทธิภาพที่เกี่ยวข้องกับ Arrays และ Objects ใน JavaScript (โดยเฉพาะ Google V8) น่าสนใจมากสำหรับเอกสาร ฉันไม่พบบทความที่ครอบคลุมเกี่ยวกับหัวข้อนี้ที่ใดก็ได้บนอินเทอร์เน็ต ฉันเข้าใจว่าออบเจ็กต์บางตัวใช้คลาสเป็นโครงสร้างข้อมูลพื้นฐาน หากมีคุณสมบัติจำนวนมากบางครั้งถือว่าเป็นตารางแฮช? ฉันเข้าใจด้วยว่าบางครั้ง Arrays จะถือว่าเหมือนกับอาร์เรย์ C ++ (เช่นการจัดทำดัชนีแบบสุ่มอย่างรวดเร็วการลบและการปรับขนาดอย่างช้าๆ) และในบางครั้งพวกมันจะได้รับการปฏิบัติเหมือน Objects มากขึ้น (การจัดทำดัชนีที่รวดเร็วการแทรก / ลบอย่างรวดเร็วหน่วยความจำที่มากขึ้น) และบางครั้งอาจถูกจัดเก็บเป็นรายการที่เชื่อมโยง (เช่นการจัดทำดัชนีแบบสุ่มช้าการลบ / การแทรกอย่างรวดเร็วที่จุดเริ่มต้น / จุดสิ้นสุด) ประสิทธิภาพที่แม่นยำของการดึงข้อมูล Array / Object และการปรับแต่งใน JavaScript คืออะไร? (เฉพาะสำหรับ Google V8) โดยเฉพาะอย่างยิ่งผลกระทบด้านประสิทธิภาพของ: การเพิ่มคุณสมบัติให้กับวัตถุ การลบคุณสมบัติออกจากวัตถุ การสร้างดัชนีคุณสมบัติในวัตถุ การเพิ่มรายการใน Array การลบรายการออกจาก Array การสร้างดัชนีรายการใน …

13
วิธีรับ microtime ใน Node.js
ฉันจะรับการประทับเวลาที่แม่นยำที่สุดใน Node.js ได้อย่างไร ps เวอร์ชันของ Node.js ของฉันคือ 0.8.X และส่วนขยาย node-microtimeไม่ทำงานสำหรับฉัน (เกิดข้อผิดพลาดเมื่อติดตั้ง)
100 javascript  node.js  v8 

4
Node.js แนะนำ“ max-old-space-size”
ฉันมีปัญหาบางอย่างที่จะเข้าใจวิธีการ Node.js max-old-space-sizeกระทำบนพื้นฐานของพารามิเตอร์ ตัวอย่างเช่นในกรณีของฉันฉันใช้งานt2.smallอินสแตนซ์ AWS สองอินสแตนซ์ (RAM 2GB) ไม่แน่ใจว่าทำไม แต่ฉันตั้งค่าmax-old-space-size=4096(4GB) โหนดทำอะไรในกรณีนี้ การกำหนดค่านี้อาจทำให้เกิดความล้มเหลวในการจัดสรรหน่วยความจำได้หรือไม่ ฉันจะกำหนดค่าที่ถูกต้องmax-old-space-sizeตามทรัพยากรเซิร์ฟเวอร์ได้อย่างไร แอปพลิเคชันของฉันมีการใช้งานหน่วยความจำเพิ่มขึ้นอย่างต่อเนื่องและฉันพยายามทำความเข้าใจทุกอย่างเกี่ยวกับโหนดภายใน
95 node.js  memory  v8 

4
v8 ผลกระทบของประสิทธิภาพ JavaScript ของ const, let และ var?
โดยไม่คำนึงถึงความแตกต่างของฟังก์ชันการใช้คำหลักใหม่ "let" และ "const" มีผลกระทบโดยทั่วไปหรือเฉพาะเจาะจงใด ๆ ต่อประสิทธิภาพเมื่อเทียบกับ "var" หลังจากรันโปรแกรม: function timeit(f, N, S) { var start, timeTaken; var stats = {min: 1e50, max: 0, N: 0, sum: 0, sqsum: 0}; var i; for (i = 0; i &lt; S; ++i) { start = Date.now(); f(N); timeTaken = Date.now() - start; …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.