ขออ้างอิงถึงสิ่งที่ carstonl เขียนไว้ที่ MacSlash หน่อย
Geek Patrol has published an article comparing 32-bit and 64-bit performance under Mac OS X using both PowerPC-based and Intel-based Macs. What's surprising is that while the Intel-based Macs are faster in 64-bit mode, the PowerPC-based Macs are slower.
จริงๆ แล้วก็ไม่ได้ surprise อะไรมากมายถ้าเข้าใจเรื่องสถาปัตยกรรม และรายละเอียดของการออกแบบ CPU แบบ x86 และแบบ PPC
มีคน post ไว้ใน MacSlash ไว้น่าสนใจดี ดังนี้:
โดย dduck
โดย ansemondOn PPC 64 bits means that often more data (longer pointers) must be moved around. On Intel 64 bits means that AND that several new registers are available. The speedup from the extra registers overwhealms the slowdown from moving longer pointers.
โดย ACAs someone who used to work at AMD which designed the x86-64 architecture: - 16 integer pipe registers versus 8 in 32 bit mode (of which 6 get used) - Carefully designed CISC so that 64-bit mode takes only 10% more space than 32 bit mode. This is important because the main bottleneck in modern systems is memory speed (hence the constant increase in cache sizes) PowerPC: - no increase in registers - much larger code size increase, although I can't find exact figures. While no one probably cares, it is instructive that the original Intel 64 bit proposal was one 64 bit register, and no additional registers.
โดย shremThe one word I haven't heard in these responses is caching. Accessing more memory is great, but when you move 64 bit pointer into the cache you have half as much of that fast memory. The other answers here are valid, especially with regards to intelligent programming needed to take advantage of 64 bit. Many programs currently out there have type errors which will be revealed on a 64 bit machine. All processors crash at the same relative speed.
โดยสรุปๆ จากสิ่งที่คน post ไว้ก็มีเรื่องขนาดของ data ที่แตกต่างกัน ในระบบ 64-bit นี่ ยังไงๆ ข้อมูลที่จะต้องย้ายไปย้ายมาในหน่วยความจำก็ต้องใหญ่ขึ้นแน่ๆ ดังนั้นก็เลยเสียเวลานานขึ้นในการย้ายมัน (ลองคิดถึงย้ายเตียงเทียบกับย้ายเก้าอี้) ดังนั้นถ้าไม่ทำอะไรที่มันฉลาดๆ เลยนี่ จะโดน performance hit แน่นอนI think a better question might be why do so many people expect a 64-bit chip to magically make their 32-bit software run faster. (Yeah, I know, most people aren't computer geeks and think a bigger number means faster. It's a rhetorical question.)I don't think that misconception will disappear any time soon. I was saying the same thing when people were crying that their 16Mhz 386 was slower than my 25Mhz 286 when running 16-bit DOS apps.
ทีนี้ ใน 64-bit PPC นี่ มันหมายถึงแค่นั้น(มั้ง) แต่ว่าพอเป็น Intel 64-bit (ย้ำนะ เฉพาะ Intel นะ ไม่ได้มีการพูดถึง architecture อื่น) นี่มันจะมี register เยอะมากขึ้นด้วย ดังนั้นถึงจะเจอ performance hit จากปัญหาขนาดข้อมูล แต่ว่าจะมี performance gain จากจำนวน register ที่มีให้ใช้มากขึ้น ซึ่ง ณ จุดหนึ่ง ถ้า gain มันมากกว่า hit เมื่อไหร่ ก็จะเร็วขึ้น (ลองคิดถึงการเพิ่มคนมาช่วยย้ายเตียง .. เช่นย้ายกัน 10 คน เทียบกับย้ายเก้าอี้คนเดียว)
นอกจากนี้ถ้า optimize อะไรมันหน่อย เช่นที่คนที่บอกว่าเคยทำงานที่ AMD บอกไว้ว่ามีการ optimize CISC code ให้ 64-bit mode ใช้ memory space มากกว่า 32-bit mode 10% และได้ point out เรื่องที่สำคัญเรื่องหนึ่งก็คือ คอขวดมันอยู่ที่ความเร็วของหน่วยความจำ
จริงๆ ผมไม่ใช่ expert ด้านนี้หรอก และคงจะไม่ comment เพิ่มเติมจากสิ่งที่เคยพูดไปบ่อยๆ แล้วทั้งในรายการวิทยุทั้งใน podcast ทั้งใน lecture ว่า 64-bit ไม่ได้แปลว่าเร็วขึ้น แต่อย่างใด
แต่ว่าที่คนสุดท้ายพูดขึ้นมาเนี่ย คิดว่าเป็นอะไรที่คงจะโดนกันหลายคน ขอ quote อีกครั้งละกัน
Most people aren't computer geeks and think a bigger number means faster. It's a rhetorical question.)I don't think that misconception will disappear any time soon. I was saying the same thing when people were crying that their 16Mhz 386 was slower than my 25Mhz 286 when running 16-bit DOS apps.
อาจจะ post สองที่นะ ที่นี่กับที่ ThaiMacDev เพราะว่าเรา(แทบจะ)ไม่เคยเขียนอะไรลงที่นั่นเลยทั้งๆ ที่เป็นคนตั้งมันขึ้นมาคนหนึ่ง (แต่ว่าต้องยกความดีความชอบให้ apirak มากกว่า เพราะว่าเค้า contribute ให้ที่นั่นเยอะจริงๆ)
คิดว่ายังไงบ้าง ช่วยส่งความคิดมาที่ rawitat[at]cp.su.ac.th (แทน [at] ด้วย @ นะ .. ที่ทำแบบนี้เพราะกัน mail mining spider) นะครับ เพราะว่า blog นี้มันเขียน comment ไม่ได้ หรือว่าจะ msn มาก็ได้ (เฉพาะคนที่รู้จักผมและมี msn ผมอยู่แล้วนะ ขออนุญาตไม่แจกเพิ่ม)
ดู รายละเอียดของ course Basic Cocoa ที่ Thai Mac Developer
โดยรวมแล้วดีนะ คนที่มาเรียนส่วนมากเป็นคนที่สนใจจริงๆ และหลายคนก็รู้จักกันผ่าน online community มาก่อนแล้ว บรรยากาศเป็นกันเองดี สอนสนุก แต่ว่าแน่นอนว่าบางทีก็มีส่วนที่มัน rough บ้าง (เพราะว่าจะว่าไป ผมก็ไม่เคยสอนเขียน Cocoa จริงๆ จังๆ แบบนี้ซักที เคยแต่สอนแบบแนะๆ ตัวต่อตัว)
มีคนที่ไปอบรม (คุณ Isriya Paireepairit) เขียน blog ถึง ด้วย (+ มีรูปอยู่รูปนึง ... ถ้าอยากดูรูปมากกว่านี้ก็รบกวนเชิญที่ Freemac.net)
สำหรับ Advanced Cocoa จะเน้นเรื่องพวก framework ที่ทำให้เขียน application ได้ในระดับสูงกว่านีี้ ก็จะมี Core Image และ Core Data นอกจากนั้นอาจจะมีเรื่องของการเชื่อมกับ Spotlight และการทำให้ application ตัวเองมัน script ได้จาก AppleScript นะ ... ก็ยังไม่แน่ใจว่าจะยัดเยียดเนื้อหาลงใน 2 วันได้แค่ไหน เพราะว่ามันก็มีเรื่อง trade-off พอสมควร (จะเอา broad หรือว่าเอา depth และมีเวลาอยู่กับแต่ละเรื่องนานๆ ล่ะ)
ถ้าถาม id คงจะบอกให้โชว์ GNUstep ด้วยมั้ง
นักศึกษาก็มากันหลายพื้นเพ หลาย background แบบนี้ท่าทางจะสนุกจริงๆ น่ะแหละ แค่วันนี้ยังไม่เข้าเนื้อหาจริงๆ แค่ intro เรื่องบางเรื่องแล้วก็ลองให้จับกลุ่ม discuss กัน ก็สนุกแล้ว ได้ idea อะไรหลายอย่างมากขึ้นเยอะ หลายเรื่องหลายมุมมองเราก็ไม่เคยคิดเลย (ก็มันไม่รู้นี่หว่า ไม่มีใครบอก) ก็ได้แนวคิดเยอะแยะ เสริมความคิดเรื่องการคิดโปรเจคให้มาเข้ากับหลักสูตรนี้ได้เยอะเลย
สรุป สนุก
เสียดาย อาทิตย์หน้าไม่ได้สอน เพราะว่าติดสอน Cocoa (การพัฒนาโปรแกรมบน Mac; ดูรายละเอียดที่ Thai Mac Dev) ก็ต้องให้ อ.สุนีย์ สอนแทนไป เรื่อง Database & Information system ก็เป็นเรื่องที่พี่เค้าอยากจะสอนที่ภาคอยู่แล้วมั้ง แต่ว่าไม่ได้สอนซะที
ยังคิดไม่ออกเลย ว่าครั้งต่อไปจะสอนเรื่องอะไรดี ยังไงรบกวนนักศึกษาวิชานี้ ถ้าได้อ่านนี่ ยังไงก็ลองแนะนำกันมาที่ mail นะครับ (ตอนนี้ผมกำลังคิดว่าคงจะเริ่มพูดถึง Digital content creation กับ management ก่อน จะได้ลามไปถึงพวก Pattern classification & recognition ได้ต่อ)
ตอนแรกต้องสอน computer graphics ปริญญาโทด้วย แต่ว่าเนื่องจากคนลงน้อยเกินไป (ณ เวลาปัจจุบัน) ก็เลยต้องปิดมันไปด้วยเหตุผลว่าไม่คุ้มค่าใช้จ่าย (ที่เราก็ไม่รู้ว่ามันมีอะไรมั่ง หรือว่าต้องลงกี่คนถึงจะคุ้ม หรือว่าไอ้คุ้มไม่คุ้มนี่มันคิดยังไง ในกรณีนี้)
ทำให้เทอมหน้าเหลือแค่ computer graphics (ป.ตรี), user interfaces, unix system admin, techniques in game development (ICT), IT สำหรับ forensic science, แล้วก็ประสานงานวิชา seminar ของป.โท IT
ซึ่งมันก็เยอะอยู่เหมือนกัน แต่ว่าไม่เป็นไร อย่างน้อยก็น้อยลงไปวิชานึง
ยังต้อง สอน/อบรม cocoa อีก
ลง Drupal ง่ายกว่าที่คิดแฮะ ไม่มีอะไรหวือหวาอย่างที่คิด ตอนแรกคิดว่าจะต้องทำอะไรที่มันคล้ายๆ กับ configure-make-make install sequence แต่ว่าจริงๆ แล้วแค่กระจายไฟล์ให้มันได้ drupal-4.x.x ออกมา แล้วย้ายมันไปลงในที่อยู่ของ Apache (ก็คือ /Library/WebServer/Documents) เท่านั้นเอง
ง่ายดีแฮะ.... ไม่มีงานทำเล่นเลย
จากนั้นก็ไป enable PHP ซะ ซึ่งอันนี้เราไม่ต้องทำเพิ่ม เพราะว่าทำไว้แล้ว แต่ว่าถ้ายังไม่ทำ ก็ไม่ยาก หาอ่านได้ทั่วไป .... (search หน่อยนะ) หลักๆ ก็ไปแก้ใน
/etc/httpd/httpd.conf
ค้นๆ
หาพวก php
แล้วก็ uncomment
มันออกไปซะ
แล้วก็ restart
Apache ใหม่
ลองสร้างไฟล์ test.php ขึ้นมา ไม่ต้องมีอะไรมาก มีแค่
<?php phpinfo(); ?>
ก็พอ
โยนๆ
มันลงไปใน
~/Sites
แล้วก็ลองเรียกดูซิว่ามันทำงานได้ป่าว
จากนั้นก็จัดการเรื่อง database ...พอดีไม่ได้ใช้ PostgreSQL ก็เลยลองแต่ MySQL อันนี้ไม่มีอะไรมากเลย ก็แค่
mysqladmin
-u root -p create drupal
mysql -u root -p drupal < /Library/WebServer/Documents/drupal/database/database.4.1.mysql
ลืมไป .. ถ้ายังไม่ได้ลง MySQL ก็หามาลงก่อนนะ ลงไม่ยากหรอก
พอได้แล้วก็เข้าไปแก้ใน
/Library/WebServer/Documents/drupal/sites/defaults/settings.php
ค้นๆ หา $db_url
แล้วก็แก้ๆ
ให้มันเข้าท่า
$db_url =
"mysql://root:your_password@localhost/drupal";
จากนั้นก็แก้ $base_url ในไฟล์เดียวกันน่ะแหละ
$base_url = "http://localhost/drupal";
สุดท้ายไปเพิ่มไอ้นี่ให้ crontab
0 * * * * wget -O - -q
http://localhost/drupal/cron.php
จากนั้นก็เรียบร้อย
จำได้ตะหงิดๆ ว่าเคยเล่น gruff (หรือว่าอะไรทำนองนี้) อยู่ซักพัก เลยไป search หาใน code playground (ที่ลอง idea ใน harddisk ตัวเองนี่แหละ ตั้งชื่อไปงั้น) สรุปว่าเป็น gruff จริงๆ ด้วย
แต่ว่า.... ฮา ต้องลงโน่นนี่ใหม่เยอะเลย เพราะว่าตั้งแต่ล้างเครื่องใหม่นี่ไม่ค่อยได้ลงพวก lib ที่เคยๆ ใช้ไปเลย
ก็ต้องไล่ลง ตั้งแต่ libpng, libjpeg, freetype, ghostscript ฯลฯ โน่นเลย ตรงนี้ Fink ก็พอจะช่วยได้บ้าง แต่ว่าถ้าเป็นพวก lib นี่เอา source มา compile ลงเองดีกว่า ไม่ค่อยเชื่อใจ Fink เท่าไหร่ แล้วก็ต้องลง ImageMagick อีก (ไม่เคยลองกับ GraphcisMagick) แล้วก็ลง RMagick ที่เป็นตัว binding ของ ImageMagick ของ Ruby อีกตัว
จากนั้นค่อยลง gruff .... ตรงนี้ก็ gem install ลงธรรมดาๆ ไม่มีอะไรหวือหวา
อืมมม ใช้งานใน Rails ก็ง่ายดีอ่ะ ตรงไปตรงมา ดู ตัวอย่างใน web NoR ก็ได้ เคลียร์ดี
[ข่าวดั้งเดิม (mailing list ของ Open Solaris), สนทนาภาษา slashdot, ส่วนนี่ของ osnews]
อืมมมมมม ก็ไม่เลวหรอก โดยส่วนตัวผมก็ไม่ค่อยชอบ HFS+ เท่าไหร่ ... แต่ว่าโปรแกรมบน Mac หลายตัวที่เคยชินกับการระบบไฟล์ที่เป็น case-insensitive (เช่นโปรแกรมจากบางบริษัท ที่ file system ของ OS ตัวเองเป็นแบบนั้นอยู่แล้ว; ทำให้ทำงานกับระบบไฟล์ที่เป็น case-sensitive เช่น UFS ไม่ได้)
ZFS น่าสนใจดี โดยเฉพาะกับ harddisk ใหญ่ๆ แล้วก็มีเรื่องของการ integration ระหว่าง file system กับ volume management แล้วก็เรื่องของ storage pool management ด้วย ยังมีอีกเยอะ แต่ว่าอ่านรายละเอียดจาก wikipedia เอาเองก็แล้วกัน
แต่ว่า... ไหนๆ จะเปลี่ยนทั้งที ไม่ลองเหลียวแล Solaris kernel ดูมั่งเหรอ? Solaris ก็ open source แล้วทั้งที (OpenSolaris คือชื่อจริงๆ ตอนนี้ ส่วน Solaris 10 หรือว่า Solaris Express หรือว่าอะไรก็ตาม รวมถึง Nexenta GNU/Solaris ด้วย ก็เป็นแค่ distribution หนึ่งของ OpenSolaris เท่านั้น)
Solaris kernel, *Better* file system (อะไรก็ได้ที่ดีกว่าตอนนี้... ZFS ก็ได้ ไม่ชอบ HFS+), Aqua Interface, Cocoa Framework, OS X features ..... สวรรค์ชัดๆ
อยากจะเปิดสอนมั่งอ่ะ ...... ไม่อยากเห็นเด็กต้องไปหัดเขียน C เป็นภาษาแรกแล้ว ทำให้เด็กสมัยนี้เขียนโปรแกรมไม่ค่อยเป็นซะเปล่าๆ แล้วก็ไม่เห็นความเกี่ยวข้องกับเรื่องรอบๆ ตัวเท่าไหร่ด้วย ที่สำคัญ มันไม่สนุก
Ruby ก็ได้ Python ก็ได้ ... อยากเปิดอ่ะ
เฮ้อ ... สงสัยต้องย้ายบ้านซะแล้ว
และแล้ว ประกาศเลยก็แล้วกัน ตอนนี้ dualGeek จะมีบ้านใหม่แล้วนะครับ ชื่อ www.dualgeek.com ก็ต้องขอบคุณคุณอภิรักษ์ (Bank) เป็นอย่างมาก ที่ช่วยเป็นธุระเรื่องจด domain และจัดการ hosting ให้ ขอบคุณจริงๆ เลยเพื่อน!
แต่ว่าตอนนี้มันยังไม่มีอะไรนะ รอก่อน จะค่อยๆ update ขยับขยาย
อืมม อาจจะต้องสอนชดเชย numerical methods กับ computer simulation ด้วยนะเนี่ย แต่ว่าไม่เป็นไรหรอก ก็ลากมาสอนบน lab จะได้หางานให้ทำด้วย
อ่อ post นี้ไม่มีอะไรมากหรอก แค่มาบ่นๆ ไปงั้นแหละ อีกอย่าง อยากจะทดสอบภาษาไทยด้วย