Performance of future Haiku versions

I like the performance and easiness of installing and upgrading the system. Recent installs on an M.2 SSD only took 15 seconds, which is just amazing.
As Haiku is not offering the sheer amount of drivers for all kinds of hardware, this is one of the reasons why Haiku is currently that performant compared to other OS. I wonder if the performance could take a hit once Haiku will reach the point of supporting a plethora of hardware. Are there any other things that could be detrimental to Haiku’s performance?
It’s puzzling why other OS are that slow compared to Haiku. What is it, that Haiku brings to the table or lacks it, why Haiku has such a huge performance advantage?

1 Like

I don’t see a relation between good performance and lack of drivers. Contrary, the lack of dedicated drivers usually explain poor performance in some areas (tipically, accelerated video drivers).

4 Likes

The less hardware you support/run the less setup, context switching, interrupts, buffer handling etc.

An accelerated video driver is just a specialized driver compared to no driver at all.

If an accelerated driver would make the OS slower, we wouldn’t be using such driver. This is indeed what happened with 2D acceleration. We implemented it, benched it, and found out it was slower, so we disabled it.

2 Likes

If I recall correctly from previous discussion, Haiku performance wouldn’t really suffer from extra hardware support. Hardware gets detected, the driver is loaded and that is that. Regardless of any drivers that aren’t being used. Any performance hits would be from bugs in the interaction in that loaded driver between the hardware and the kernel. You wouldn’t get a performance hit from code that isn’t being used.

One thing that I remember about Haiku is that we still have a lot of debugging turned on in the default install due to still being in beta. This causes overhead in a few key places. The idea is to have these debugging routines shut off in R1 stable. That should net even better performance. So performance should only get better as time goes on.

1 Like

There is possibility of performance degradation when many drivers installed, because every driver is queued at boot. This could be improved by creating database that map hardware id to driver module. So device can be queued in database (log(n) complexity) before loading driver.

Probing hardware does take time. This is why Haiku generally boots slower than BeOS, since it has to probe all usb drivers at boot time. There are a few interesting tickets about improving boot time:
https://dev.haiku-os.org/ticket/1070
https://dev.haiku-os.org/ticket/5161
https://dev.haiku-os.org/ticket/15659

2 Likes

I think it would be better if drivers where downloaded from a server instead of having them preloaded to the operating system. Just adds bloat to it. Ubuntu used to be lightweight, but due to adding more drivers and bloat it’s very slow for old hardware.

You are jumping the gun… most of the instability in Windows is because the drivers are not built together with the OS but separately with an SDK… so they get less testing with other drivers that may conflict installed or built togehter with the OS.

Also, all the drivers in Haiku are only a few MB… Linux itself with all options and drivers turned on is probably under 50MB still. So… it is unlikely to ever be a problem… drivers are not the main source of bloat of any operating system as far as I know. Windows drivers give a bad impression because they tend to also bundle bloated configuration utilities and such junk with thier drivers which makes then 100s of MB instead of a few kb for the actual driver itself.

1 Like

You realise Haiku added a driver for your M.2 SSD recently or it wouldn’t work at all right… hardware that doesn’t work isn’t useful and Operating systems supporting the hardware you have is the opposite of bloat.

A properly configured Linux or Windows system is not majorly slower than Haiku… but they typically dont’ come configured that way by default. And Haiku is all about good defaults for desktop use.

1 Like

That is wrong. Windows 10 Explorer is terribly slow compared to Haiku Tracker and there is no way to configure it. Resizing Explorer window get about 10 FPS for me. GDI rendering is very slow compared to Haiku especially when buffer bitmap is not used. GUI application startup time is also smaller than Windows 10. Haiku also allows to send message to existing process when opening file instead of starting new process that can significantly can increase file open speed.

Then you must be on a rather old computer… in that case yes Windows 10 is going to be much slower.

But if you have 2 computers build in the last year, no… there will be no noticeable difference unless you have majorly missconfigured windows. There is more overhead to running Windows but if you have enough CPU and disk performance then no… you won’t notice.

What you are experiencing is probably to some degree the grass is greener effect… while there are tasks that Haiku probably can do faster (File indexing on Haiku is faster even though it’s from the 90’s and as has been discussed not ideal, MS’s solution is garbage and crashes every other update). That said there are mountains of tasks that windows can do faster such as browsing the web, anything with a GPU, you can’t really run any games on Haiku more complex that about ~2005 … , video editing etc… are all faster on windows by orders of magnitude because it has drivers for accelerating such things and Haiku does not.

Also most of the places GDI is used… literally do not matter, and if you are experiencing lag with GDI it is almost certain that you have some sort of broken graphics driver since GDI is mostly drawn on the CPU anyway so not much to go wrong there except once it gets composited etc…even if it does redraw slow, how does this affect anyones actual workflow… it doesn’t.

GDI is always slower when compositing is enabled. Latest Windows where GDI works well is Windows XP. I experienced this on many PCs.

Modern CPU with SIMD instructions allow fast software rendering. Haiku has in-progress Mesa LLVM multithreaded OpenGL rendering. Blender is quite usable on Haiku even on PC with Windows 10 mentioned before.

4 Likes

This is tablet PC (Computers compatible with Haiku (OLD - pre-Beta2 list) - #131 by apgreimann). There are a lot of new portable PC produced, on which Windows 10 is slow.

That’s a dead end… it is already as fast as it will ever be.

It would be good to have GPU acceleration support in Haiku, but this is difficult and nobody had managed to implement it.

And while it is being worked on to some extent, it still isn’t a focus until R1 is released.

Nice to see my Blender port have some use. :slight_smile:

I would happily work on updating Blender to the lates, but AFAIK they changed the GL/GLSL requiments for 2.8x branch, if somebody can help to make it possible on Haiku, that would be great. Tested with MESA overrides, but no dice.

@X512, i have seen your libGL/libGL2 work, could you please tell us something about that?

Yes! Let’s start with the network and hard disk drivers! This way, no one can boot their machine anymore, sounds great. And let’s move the graphics card and keyboard drivers there too, just to make sure you can’t see or do anything while you type your wifi password to get access to the server.

And when the server goes offline, all Haiku installs will stop working because they can’t find their drivers.

And boot time will increase as you wait for downloading files which instead could just be stored on your disk.

7 Likes