SlideShare a Scribd company logo
1 of 18
Why in automotive?
Bartosz Taczała
December 2016
XXI Languages
http://www.tiobe.com/tiobe-index/
What is Automotive?
What is Automotive?
Two worlds of automotive
● ECU
● ABS
● ESP
● Safety systems
● Riched user interface
● 60/30 fps 3D
● Lots of functionality
Three worlds of automotive
ECU Instrument cluster IVI
Prerequisites - safety systems + IC
Safe language Performance Performance Performance Determinism RTOS based
Suitable Technologies - safety critical systems + IC
Assembly
C (with some
restrictions)
C++ (with some
restrictions)
Others? (Rust, go?)
?
IVI & IC
Requirements - IVI
● General purpose
● Lots of software
● Play some music and answer the phone and check the weather and navigate and order supper and
check my calendar and check my range and find the closest gas station with cheaper fuel
Prerequisites - IVI
Performance Deterministic Small memory footprint
Suitable Technologies - IVI
Whatever is suitable for programming an application for general purpose operating
system
HTML5/JS problems
Poor performance on slower CPUs
and GPUs
● Overall poor performance
Portability
● … is a joke
● ~ 10k different web engines
○ Blink (chromium, WebKit fork)
○ WebKit (old one)
○ WebKit2 (new one)
○ WebRT (WebKit + Tizen API)
This can be extended to
almost every interpreted
language.
HTML5/JS problems
Different WebKit
versions feels like
different products
Some quirks on various
platforms
Performance Non deterministic
SoC vendors are slow
to adopt web
technologies (QNX)
HTML5/JS problems
Doesn’t mean it will work great on embedded platform
… and it’s almost certain that it will work poorly..
What works great* on a desktop...
C++ problems
Writing efficient
code is hard
Debugging is
hard (and I
means really
hard)
Profiling is hard Correct
multithreaded
programs are
hard
even parsing
json is hard
Manual memory
management is
hard
Pointers are
hard
JSON Parsing - comparison
WebKit:
● Builtin
● Hard to predict performance
● If builtin is not perfect, custom web engine
extensions needs to be implemented (yes in
C++:
● External libraries to be used
● Easy to predict performance
● If one library does not meet requirements select
different one
Thank You :-)

More Related Content

Similar to Dlaczego C++ w Automotive

Next-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software OpportunitiesNext-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software OpportunitiesAlison Chaiken
 
Automotive: the Next Hot Mobile Platform for Linux
Automotive: the Next Hot Mobile Platform for LinuxAutomotive: the Next Hot Mobile Platform for Linux
Automotive: the Next Hot Mobile Platform for LinuxAlison Chaiken
 
Brightcove live tech overview
Brightcove live tech overviewBrightcove live tech overview
Brightcove live tech overviewJordi Cenzano
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKKriangkrai Chaonithi
 
Shaping the Future of Automatic Programming
Shaping the Future of Automatic ProgrammingShaping the Future of Automatic Programming
Shaping the Future of Automatic ProgrammingChristos Tsakostas
 
Principles of a vehicle infotainment platform - Hans-Ulrich Michel, BMW
Principles of a vehicle infotainment platform - Hans-Ulrich Michel, BMWPrinciples of a vehicle infotainment platform - Hans-Ulrich Michel, BMW
Principles of a vehicle infotainment platform - Hans-Ulrich Michel, BMWmfrancis
 
Artificial intelligence on the Edge
Artificial intelligence on the EdgeArtificial intelligence on the Edge
Artificial intelligence on the EdgeUsman Qayyum
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...Rogue Wave Software
 
When the Rubber Hits the Road: Make Your Computer Talk to Your Car
When the Rubber Hits the Road: Make Your Computer Talk to Your CarWhen the Rubber Hits the Road: Make Your Computer Talk to Your Car
When the Rubber Hits the Road: Make Your Computer Talk to Your CarLAAOS
 
The Advent of Automotive Linux
The Advent of Automotive LinuxThe Advent of Automotive Linux
The Advent of Automotive LinuxAlison Chaiken
 
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...David Fowler
 
Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012Alison Chaiken
 
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI Alliance
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Johan Thelin
 
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin Inc
 
Accelerating automotive test development may 2008
Accelerating automotive test development   may 2008Accelerating automotive test development   may 2008
Accelerating automotive test development may 2008Thorsten MAYER
 

Similar to Dlaczego C++ w Automotive (20)

M qcardiac
M qcardiacM qcardiac
M qcardiac
 
Next-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software OpportunitiesNext-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software Opportunities
 
Automotive: the Next Hot Mobile Platform for Linux
Automotive: the Next Hot Mobile Platform for LinuxAutomotive: the Next Hot Mobile Platform for Linux
Automotive: the Next Hot Mobile Platform for Linux
 
Brightcove live tech overview
Brightcove live tech overviewBrightcove live tech overview
Brightcove live tech overview
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
 
Shaping the Future of Automatic Programming
Shaping the Future of Automatic ProgrammingShaping the Future of Automatic Programming
Shaping the Future of Automatic Programming
 
Principles of a vehicle infotainment platform - Hans-Ulrich Michel, BMW
Principles of a vehicle infotainment platform - Hans-Ulrich Michel, BMWPrinciples of a vehicle infotainment platform - Hans-Ulrich Michel, BMW
Principles of a vehicle infotainment platform - Hans-Ulrich Michel, BMW
 
Artificial intelligence on the Edge
Artificial intelligence on the EdgeArtificial intelligence on the Edge
Artificial intelligence on the Edge
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 
Ada at Barco avionics
Ada at Barco avionicsAda at Barco avionics
Ada at Barco avionics
 
When the Rubber Hits the Road: Make Your Computer Talk to Your Car
When the Rubber Hits the Road: Make Your Computer Talk to Your CarWhen the Rubber Hits the Road: Make Your Computer Talk to Your Car
When the Rubber Hits the Road: Make Your Computer Talk to Your Car
 
Sidecars
SidecarsSidecars
Sidecars
 
The Advent of Automotive Linux
The Advent of Automotive LinuxThe Advent of Automotive Linux
The Advent of Automotive Linux
 
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
 
Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012
 
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
 
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
 
Accelerating automotive test development may 2008
Accelerating automotive test development   may 2008Accelerating automotive test development   may 2008
Accelerating automotive test development may 2008
 
TULIKA KESHRI (1)
TULIKA KESHRI (1)TULIKA KESHRI (1)
TULIKA KESHRI (1)
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 

Dlaczego C++ w Automotive

  • 1. Why in automotive? Bartosz Taczała December 2016
  • 5. Two worlds of automotive ● ECU ● ABS ● ESP ● Safety systems ● Riched user interface ● 60/30 fps 3D ● Lots of functionality
  • 6. Three worlds of automotive ECU Instrument cluster IVI
  • 7. Prerequisites - safety systems + IC Safe language Performance Performance Performance Determinism RTOS based
  • 8. Suitable Technologies - safety critical systems + IC Assembly C (with some restrictions) C++ (with some restrictions) Others? (Rust, go?) ?
  • 10. Requirements - IVI ● General purpose ● Lots of software ● Play some music and answer the phone and check the weather and navigate and order supper and check my calendar and check my range and find the closest gas station with cheaper fuel
  • 11. Prerequisites - IVI Performance Deterministic Small memory footprint
  • 12. Suitable Technologies - IVI Whatever is suitable for programming an application for general purpose operating system
  • 13. HTML5/JS problems Poor performance on slower CPUs and GPUs ● Overall poor performance Portability ● … is a joke ● ~ 10k different web engines ○ Blink (chromium, WebKit fork) ○ WebKit (old one) ○ WebKit2 (new one) ○ WebRT (WebKit + Tizen API) This can be extended to almost every interpreted language.
  • 14. HTML5/JS problems Different WebKit versions feels like different products Some quirks on various platforms Performance Non deterministic SoC vendors are slow to adopt web technologies (QNX)
  • 15. HTML5/JS problems Doesn’t mean it will work great on embedded platform … and it’s almost certain that it will work poorly.. What works great* on a desktop...
  • 16. C++ problems Writing efficient code is hard Debugging is hard (and I means really hard) Profiling is hard Correct multithreaded programs are hard even parsing json is hard Manual memory management is hard Pointers are hard
  • 17. JSON Parsing - comparison WebKit: ● Builtin ● Hard to predict performance ● If builtin is not perfect, custom web engine extensions needs to be implemented (yes in C++: ● External libraries to be used ● Easy to predict performance ● If one library does not meet requirements select different one

Editor's Notes

  1. Knight rider IC & IVI ;)