Download

Thank you for 4.2 from C++ perspective!

Dear Epic,

Thank you for 4.2 !

It was a lot of work to convert my c++ project over to comply with removal of the Classes folder

But now my compile times have sped about about 3000%, yes 30x faster!

Woohoo!

Thanks Epic!

Rama

Glad you’re seeing better performance, Rama. Compile time improvements will be an ongoing effort. Unfortunately, there is no single place in the code that we can just fix - it’s more like death by a thousand paper cuts, but we have identified the biggest offenders. You should continue to see compile time improvements over the course of the next few releases.

[FONT=Comic Sans MS]**
Hi Gerke!**

Well thanks again!

I’m really really really noticing the improvement!

I can iterate in my pure C++ project soooo much faster now!

:slight_smile:

Rama

So by removal of classes public and private dir format compiling gets faster?

absolutely much faster! :slight_smile:

You will have to include all required headers for each class in the .h or the .cpp, but it is worth it in the end!

Rama

What about directories removal? Have not heard anything about it.
I never used that structure anyway, what has changed?

Yep, I’m interested to know what the difference is since it sure wasn’t just the directory structure - it must have served a purpose behind the scenes. I believe someone mentioned it used the directories in a precompiled header or some such.

Is there any info on this new convention and how this is practically different for C++ devs?

I didn’t notice any change in compile time (it’s pretty slow for me).

What changes did you do, Rama?

Did you completely remove your Classes folder? that seems to be the main thing to trigger much much much better compile times. :slight_smile:

It even works if you do this for plugins! So much faster!

Rama

No, but… where do you put your header files, then?

Currently I have the folders Classes, Private, Public and **Resources **inside Source/ShooterGame.

  1. You move all of the header files to private or public,

2/ if you use private, you add the private include paths to your build CS!


  //Private Paths
        PrivateIncludePaths.AddRange(new string] { 
			"VictoryGame/Private",
			"VictoryGame/Private/AnimationNodes",
			"VictoryGame/Private/AnimInstances",
			"VictoryGame/Private/Base",
			"VictoryGame/Private/Characters"
          }):

  1. Then you include each header in each .cpp

  2. some .cpp may need multiple .h included

end result =

vastly sped up compile times

it took me about 5 days to do my Victory Game project, but it is soooo worth it!

I can iterate so much faster now!

Rama