- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've never used the "CodeBlocks IDE" so I only speculate.
The IPP library is independent of the IDE you choose to host your development tools. You will need to configure your makefiles or build scripts to reference the appropriate directories and files in ways similar to using any other IDE or makefiles on Linux. Additionally, the IPP library is precompiled and provided in binary format, so the specific compiler/linker you use with CodeBlocks is not important (e.g., Intel or gcc).
The raw performance of your system is independent of the operating system and the execution mode (kernel mode versus user mode). When you execute an IPP function it will run at the same speed on a Linux system as it will on a Windows system (assuming identical hardware). The differences in performance between operating systems will depend more on the type and frequency of OS calls your application makes, how the OS prioritizes and schedules kernel and user threads, and how drivers and interrupt handlers interact with the hardware and the operating system.
Real-time performance is a combination of having a hardware system that is "fast enough" to handle processing of events (the raw performance of your system) and the ability of the OS to prioritize and insure events and threads are scheduled in a time-critical manner to insure that "real-time" events are handled at the right time. IPP provides your application with a raw performance boost, your operating system and application plus the hardware determine the overall real-time nature.
Paul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
New release of H.264/AVC reference software JM 16.2
I am not familiar with the JM reference code, so I cannot comment on what differences may exist between the Linux version and the Windows version of the code. If they are substantially different, for example, in how they handle threading, memory allocation, disk I/O, and the type and frequency of OS calls, I would expect the results to be different.
Is it possible that you have Visual Studio debug features turned on in the Windows executables you are generating from the JM reference code? Such features can have a profoundly detrimental impact on the measured performance of an application.
If you convert your Windows app to Linux you could get similar performance on both platforms. The performance differences you measure will depend on a variety of factors, including how much time the application is spending on I/O and OS calls versus how much time it spends on pure processing, differences in threading between the two platforms, memory paging, the existence of other applications, etc. There are simply too many factors to provide a simple forumula.
Ultimately, you will need to convert your application, or a small subset of the performance sensitive portions of your application, to Linux to determine if there will be any significant advantages to moving to another OS platform.
Paul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page