ผลลัพธ์ที่แตกต่างกันเพราะวงจรคนขับแตกต่างกันไปในแต่ละเทคโนโลยี
โดยทั่วไปแล้ว 100kHz I2C ใช้ตัวต้านทานแบบดึงขึ้นเพื่อให้สัญญาณอยู่ในระดับสูงและไดรเวอร์แบบ open-drain เพื่อให้สัญญาณอยู่ในระดับต่ำ
ตัวต้านทานแบบดึงขึ้นโดยทั่วไปจะมีหลายกิโลโอห์ม ยิ่งสายเคเบิลยาวเท่าใดก็ยิ่งมีความจุมากเท่านั้น เวลาที่ใช้เส้นในการเปลี่ยนจาก 0 เป็น 1 จะเป็นสัดส่วนกับความจุทั้งหมดในบรรทัดและค่าตัวต้านทานแบบดึงขึ้น อยู่ในช่วงประมาณ T = 2 * R * C จะถูกต้อง
ตัวอย่างเช่นหากคุณมีสายเคเบิล 10 ฟุตที่มี 20pF ต่อฟุตของความจุและคุณใช้ตัวต้านทานแบบดึงขึ้น 10K ก็จะใช้ T = 2 * 20pF / ฟุต * 10 ฟุต * 10K * 3.6K เพื่อเปลี่ยนจากต่ำไปสูง
ในกรณีนี้คุณเห็นได้ชัดว่าคุณไม่สามารถมีหนึ่งบิตต่อไปนี้เป็นศูนย์ที่น้อยกว่า 3.6us ดังนั้นอัตราการส่งของคุณจะถูก จำกัด ที่ 277kHz
ในระบบ I2C จริงข้อมูลจำเพาะของ I2C จะช่วยให้การตั้งค่าและการเก็บรักษาข้อมูลและการเปลี่ยนนาฬิกาเป็นไปอย่างต่อเนื่อง เวลาเหล่านั้นมีทั้งแบบนาโนวินาทีหรือไมโครวินาที เวลาถูกทำให้ช้ามากโดยมีวัตถุประสงค์เพื่อให้อุปกรณ์สามารถนำไปใช้อย่างถูก (เพนนี) และใช้พลังงานน้อยมาก (มิลลิวัตต์)
อีเธอร์เน็ตในอีกทางหนึ่งสามารถทำงานได้เร็วขึ้นแม้จะมีความจุของสายเคเบิลเพราะมันไม่ได้ใช้ตัวต้านทานแบบดึงขึ้น มันขับทั้งสูงหรือต่ำลงในสายอย่างแข็งขัน คนขับมีอิมพิแดนซ์ต่ำและสามารถชาร์จประจุในสายใด ๆ ได้อย่างรวดเร็ว แน่นอนว่าทุกอย่างมาพร้อมราคา อีเธอร์เน็ตมักใช้พลังงานหลายร้อย mW และมีค่าใช้จ่ายอย่างน้อยสองสามดอลลาร์ต่อพอร์ต
การตั้งค่าคล้ายกับ I2C สามารถทำงานได้เร็วขึ้นแน่นอนเพียงเปลี่ยน 10K pullup เป็น 100 ohms และตอนนี้เวลาที่คุณเพิ่มขึ้นเป็น 10ft ของสายเคเบิลลดลงจาก 3.6us เป็น 36ns คุณสามารถทำงานที่ความเร็วประมาณ 10MHz โดยไม่มีปัญหามากเกินไป (นอกเหนือจากข้อเท็จจริงที่ว่าชิป I2C ทั่วไปไม่สามารถพูดได้อย่างรวดเร็ว)